Oracle
如何在 Oracle 的 TO_DATE 呼叫中正確使用時區格式說明符
我正在嘗試
DATE
使用以下語句獲取對象:TO_DATE('1970-01-01 00:00:00 UTC','YYYY-MM-DD HH24:MI:SS TZR')
和
TO_DATE('1970-01-01 00:00:00 UTC','YYYY-MM-DD TZH:TZM:SS TZR')
但在這兩種情況下,它都在告訴我:
ORA-01821: date format not recognized
.我從https://www.techonthenet.com/oracle/functions/to_date.php
TZR
獲得了格式說明符,即:TZD 夏令時資訊。例如,“太平洋標準時間” TZH 時區小時。 TZM 時區分鐘。 TZR 時區區域。
用時區指定日期/時間的正確方法是什麼?
TZR - 時區區域資訊。該值必須是數據庫支持的時區區域名稱之一。在時間戳和間隔格式中有效,但在 DATE 格式中無效。
select to_timestamp_tz ( '1970-01-01 00:00:00 UTC', 'YYYY-MM-DD HH24:MI:SS TZR' ) as result from dual; RESULT ---------------------------------------- 01-JAN-70 12.00.00.000000000 AM UTC
如果你想要一個
DATE
類型,你需要轉換它:select cast(to_timestamp_tz ( '1970-01-01 00:00:00 UTC', 'YYYY-MM-DD HH24:MI:SS TZR' ) as date) as result from dual; RESULT ---------------------------------------- 01-JAN-70