如何在第三个查询中添加时区偏移量?
SELECT SESSIONTIMEZONE FROM DUAL;
# +01:00
SELECT TZ_OFFSET(SESSIONTIMEZONE) FROM DUAL;
# +01:00
SELECT TO_CHAR(TO_TIMESTAMP('19700101000000','YYYYMMDDHH24MISS')+NUMTODSINTERVAL(86400,'SECOND'),'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
# 1970-01-02 00:00:00
想要的结果是
# 1970-01-02 01:00:00
使用
FROM_TZ
:
ALTER SESSION SET TIME_ZONE='Europe/Paris';
然后:
SELECT TO_CHAR(
FROM_TZ(
TIMESTAMP '1970-01-01 00:00:00' + INTERVAL '86400' SECOND,
'UTC'
) AT TIME ZONE SESSIONTIMEZONE,
'YYYY-MM-DD HH24:MI:SS'
) AS ts
FROM DUAL
TS |
---|
1970-01-02 01:00:00 |