Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle-将数字8位数字转换为日期_Sql_Oracle_Datetime_Oracle Sqldeveloper - Fatal编程技术网

Sql Oracle-将数字8位数字转换为日期

Sql Oracle-将数字8位数字转换为日期,sql,oracle,datetime,oracle-sqldeveloper,Sql,Oracle,Datetime,Oracle Sqldeveloper,我有一个oracle数据库,其中日期记录为8位数字,例如: 59696580 which represent '01/07/2013 00:00:00' 59696610 which represent '01/07/2013 00:30:00' 有人知道如何在Oracle SQL中将这个8位数字转换为日期吗 谢谢这可能取决于时区,但鉴于您希望它们表示的日期,这个数字似乎是自12-30-1899 1:00:00以来的分钟数 为了获取日期,您只需使用加法+操作符将天数添加到基准时间。如果您的

我有一个oracle数据库,其中日期记录为8位数字,例如:

59696580 which represent '01/07/2013  00:00:00'
59696610 which represent '01/07/2013  00:30:00'
有人知道如何在Oracle SQL中将这个8位数字转换为日期吗


谢谢

这可能取决于时区,但鉴于您希望它们表示的日期,这个数字似乎是自
12-30-1899 1:00:00
以来的分钟数

为了获取日期,您只需使用加法
+
操作符将天数添加到基准时间。如果您的数字代表分钟,您可以除以1440,找出这些分钟代表多少天:

to_date('12-30-1899 1:00:00','MM-DD-YYYY HH24:Mi:SS') + (59696580/1440) 
to_date('12-30-1899 1:00:00','MM-DD-YYYY HH24:Mi:SS') + (59696610/1440) 

这似乎是自1900年以来的分钟数。它看起来像1=1分钟。因此,这个数字表示自1899年12月30日01:00:00以来的分钟数??你是什么意思?假设在java中?+1不是OP想要的正确答案,但非常符合逻辑。可能取决于时区,但通过使用
12-31-1899 1:00:00
作为基准时间,获得了OP想要的结果。这太棒了。当我运行这个查询时(to_date('12-30-1899 1:00:00','MM-DD-YYYY HH24:Mi:SS')+(59696580/1440)),我没有得到时间,只有'01-Jul-13'的日期。你知道为什么吗?可能与你的
NLS\u DATE\u格式
变量有关。此变量控制会话如何将
DATE
s转换为
CHAR
s进行显示。
日期
是正确的,或者使用
to_CHAR(日期'MM-DD-YYYY HH24:Mi:SS')
为其提供自定义格式。