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

标签 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 以来的分钟数(考虑到您希望它们代表的日期)。

为了获取日期,您只需使用加法+ 运算符即可在该基准时间上添加天数。鉴于您的数字代表分钟,您可以除以 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) 

SQL Fiddle

关于sql - Oracle - 将数字 8 位数字转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17543219/

相关文章:

mysql - 如何获得不同日期的各个最大值之间的差异?

sql - 在 Postgres 中更改列类型会导致 pg_attrdef 警告

sql - Oracle:如何在查询中比较两个 NUMBERS 时获得值 'TRUE' 或 'FALSE'?

python - 使用 Python 的 matplotlib 在 x 轴上绘制时间

python - 在 python/ruby 中将 EPOC 日期时间转换为 PST

sql - SQL数据类型负十进制

sql - 根据变化的维度对分区进行编号

oracle - PL/SQL 宏,就像 C 编程中的那样

php - 显示日期时间数据库值时删除秒数

mysql - 获取 NonUniqueDiscoveredSqlAliasException