我的Oracle数据库中有一个表示日期的数字字段。
我对Oracle命令并不熟悉。
我想知道是否有人可以在这里提供一些指南。
感谢。
示例:1435755908 = 2015年7月1日9:05
答案 0 :(得分:1)
这是一个Unix时间戳,即自1970年1月以来的秒数,尝试这个公式:
timestamp '1970-01-01 00:00:00' + 1435755908/86400
答案 1 :(得分:1)
由于似乎存在时区差异:
select date '1970-01-01' + 1435755908/86400 as converted from dual;
CONVERTED
----------------------------------------
2015-07-01 13:05:08
你似乎需要做一些时区操作。大纪元时间是UTC,因此您可以使用from_tz
来声明,然后at time zone
获取美国/东海岸的等效内容:
select from_tz(cast(date '1970-01-01' + 1435755908/86400 as timestamp), 'UTC')
at time zone 'America/New_York' as converted from dual;
CONVERTED
----------------------------------------
2015-07-01 09:05:08.000 AMERICA/NEW_YORK
这是带时区的时间戳。如果你想把它作为一个简单的日期,那么投下它:
select cast(from_tz(cast(date '1970-01-01' + 1435755908/86400 as timestamp), 'UTC')
at time zone 'America/New_York' as date) as converted from dual;
CONVERTED
----------------------------------------
2015-07-01 09:05:08