時間格式爲24小時,因此修復方法是使用HH24
而不是HH
。
SELECT CAST(TO_TIMESTAMP_TZ(
REPLACE('1970-01-01T00:00:00-08:00', 'T', ''),
'YYYY-MM-DD HH24:MI:SS TZH:TZM') AS DATE) DOB
FROM dual;
,但使用的替換,可以在模式中使用文字"T"
:
SELECT CAST(
TO_TIMESTAMP_TZ('1970-01-01T00:00:00-08:00',
'YYYY-MM-DD"T"HH24:MI:SS TZH:TZM')
AS DATE) DOB FROM dual;
被告知,中投只是下降的時區信息。如果您需要將時間戳轉換爲日期在特定的時區(比如+04:00),使用at time zone
子句TIMESTAMP WITH TIME ZONE
:
SELECT CAST(
TO_TIMESTAMP_TZ('1970-01-01T00:00:00-08:00',
'YYYY-MM-DD"T"HH24:MI:SS TZH:TZM')
at time zone '+04:00' AS DATE) DOB FROM dual;
多見於:
由於您希望以格式MM/DD/YYYY
輸出,請直接在時間戳上使用to_char:
SELECT to_char(
TO_TIMESTAMP_TZ('1970-01-01T00:00:00-08:00',
'YYYY-MM-DD"T"HH24:MI:SS TZH:TZM')
at time zone '+04:00', 'MM/DD/YYYY') DOB FROM dual;