在Oracle DB中将float转换为DateTime

时间:2011-06-05 09:40:33

标签: oracle datetime

我有一个Oracle表,其中的列以float表示形式存储日期和时间。它看起来像这样:

40610.389837963 -> should be decoded to 5/11/2011 16:06

40676.2641666667 -> should be decoded to 5/13/2011 6:20

我知道编码值和解码值,但我不知道如何将此浮动格式解码为“正常”日期时间: - )

在描述这个时,有人可以解释或给我一个链接吗?任何帮助将非常感激

提前致谢。安德烈。

1 个答案:

答案 0 :(得分:4)

您拥有的日期/时间格式是Excel在Windows上使用的格式。如果为Excel中的日期单元格指定数字格式,您将看到相同的数字。您还可以将数字放入Excel单元格并为其指定日期格式以显示日期。

这基本上是自1900年1月1日以来的天数,除了Excel在闰年处理方面有一些错误。

您可以使用以下SQL表达式将其转换为正确的日期:

select to_date('12/30/1899', 'MM/DD/YYYY') + 40676.2641666667 from dual;

然而,号码40610.389837963被转换为3/8/2011 09:21。但我想你在某个地方把它混合了。