如何在oracle中将sysdate转换为UTC时间

时间:2016-10-18 06:58:59

标签: sql oracle datetime sysdate

我正在查询从sysdate中减去日期。但是,我所拥有的日期对象是UTC格式,但sysdate没有给我UTC时间。如何将sysdate转换为以UTC为单位给出日期。

我已尝试使用sys_extract_utc

select sys_extract_utc(systimestamp) from dual;

这很好,并给我正确的UTC时间戳。但是它返回的对象与sysdate不同,所以当我从这个对象中减去日期时,我得到一个INTERVAL DAY to SECOND,但它应该是一个数字。

3 个答案:

答案 0 :(得分:2)

sys_extract_utc(systimestamp)的结果使用CAST是解决此问题的方法,因为sys_extract_utc返回timestamp

select cast(sys_extract_utc(systimestamp) as DATE) from dual;

答案 1 :(得分:0)

sys_extract_utc返回时间戳,你正在寻找日期,所以你只需要一个演员: select CAST(sys_extract_utc(systimestamp) as DATE) from dual;

答案 2 :(得分:0)

如果您不想要“时间”部分:

SELECT TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'YYYY-MM-DD') FROM dual;