sti*_*tic 40 oracle timezone utc
可能是一个经典...你知道在Oracle上检索SYSDATE的UTC值的一个简单技巧(最好是在第8版本上也可以获得一些东西).
现在我有自定义功能:(
干杯,
斯特凡
Jon*_*han 40
您可以使用
SELECT SYS_EXTRACT_UTC(TIMESTAMP '2000-03-28 11:30:00.00 -02:00') FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
您可能还需要更改时区
ALTER SESSION SET TIME_ZONE = 'Europe/Berlin';
Run Code Online (Sandbox Code Playgroud)
或者阅读它
SELECT SESSIONTIMEZONE, CURRENT_TIMESTAMP FROM dual;
Run Code Online (Sandbox Code Playgroud)
Jur*_*ris 39
select sys_extract_utc(systimestamp) from dual;
Run Code Online (Sandbox Code Playgroud)
但是,它不适用于Oracle 8.
Cha*_*rns 20
通常,我使用DATE列,而不是更大但更精确的TIMESTAMP.
以下将返回当前的UTC日期 - DATE.
CAST(sys_extract_utc(SYSTIMESTAMP) AS DATE)
Run Code Online (Sandbox Code Playgroud)
使用UTC日期非常棒,因为我不必担心时区的复杂性.只有最终显示给用户需要抵消或其他麻烦.
小智 7
我正在使用:
SELECT CAST(SYSTIMESTAMP AT TIME ZONE 'UTC' AS DATE) FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
它对我来说很好用。
如果你想要一个时间戳而不仅仅是一个带有 sysdate 的日期,你可以使用 systimestamp 指定一个时区:
select systimestamp at time zone 'UTC' from dual
Run Code Online (Sandbox Code Playgroud)
输出: 29-AUG-17 06.51.14.781998000 PM UTC