2017-12-18 318 views

回答

3

時間格式爲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; 
相關問題