如何在oracle中将sysdate转换为UTC时间
How to convert sysdate to UTC time in oracle
我有一个从 sysdate 中减去日期的查询。然而,我拥有的日期对象是 UTC,但 sysdate
没有给我 UTC
时间。如何将 sysdate 转换为 UTC 日期。
我已经尝试使用 sys_extract_utc
select sys_extract_utc(systimestamp) from dual;
这很好用,并为我提供了正确的 UTC 时间戳。但是它返回的对象与 sysdate
不同,所以当我从这个对象中减去日期时,我得到一个 INTERVAL DAY to SECOND
但它应该是一个数字。
在 sys_extract_utc(systimestamp)
的结果上使用 CAST 是解决此问题的方法,因为 sys_extract_utc
returns timestamp
.
select cast(sys_extract_utc(systimestamp) as DATE) from dual;
sys_extract_utc returns 时间戳,而你正在寻找日期,所以你只需要一个演员:
select CAST(sys_extract_utc(systimestamp) as DATE) from dual;
如果您不想要 "time" 部分:
SELECT TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'YYYY-MM-DD') FROM dual;
我有一个从 sysdate 中减去日期的查询。然而,我拥有的日期对象是 UTC,但 sysdate
没有给我 UTC
时间。如何将 sysdate 转换为 UTC 日期。
我已经尝试使用 sys_extract_utc
select sys_extract_utc(systimestamp) from dual;
这很好用,并为我提供了正确的 UTC 时间戳。但是它返回的对象与 sysdate
不同,所以当我从这个对象中减去日期时,我得到一个 INTERVAL DAY to SECOND
但它应该是一个数字。
在 sys_extract_utc(systimestamp)
的结果上使用 CAST 是解决此问题的方法,因为 sys_extract_utc
returns timestamp
.
select cast(sys_extract_utc(systimestamp) as DATE) from dual;
sys_extract_utc returns 时间戳,而你正在寻找日期,所以你只需要一个演员:
select CAST(sys_extract_utc(systimestamp) as DATE) from dual;
如果您不想要 "time" 部分:
SELECT TO_CHAR(SYS_EXTRACT_UTC(SYSTIMESTAMP), 'YYYY-MM-DD') FROM dual;