OracleのDATE
データ型にタイムゾーンがありません-TIMESTAMP WITH TIMEZONE
が必要です データ型:
SELECT TO_TIMESTAMP_TZ(
'Thu Nov 24 15:20:52 CET 2016',
'DY MON DD HH24:MI:SS TZR YYYY'
)
FROM DUAL
DATE
に変換する場合 (そしてタイムゾーンの地域は常にCET
)次に使用できます:
SELECT TO_DATE(
'Thu Nov 24 15:20:52 CET 2016',
'DY MON DD HH24:MI:SS "CET" YYYY'
)
FROM DUAL
DATE
として必要な場合 データ型を指定し、元の文字列のタイムゾーンを尊重するには、(1)それをTIMESTAMP WITH TIMEZONE
に変換する必要があります。 データ・タイプ; (2)その値を標準化されたタイムゾーンに変換します(これにはUTCがよく使用されます)。次に(3)それを日付に変換します:
SELECT CAST(
TO_TIMESTAMP_TZ(
'Thu Nov 24 15:20:52 CET 2016',
'DY MON DD HH24:MI:SS TZR YYYY'
)
AT TIME ZONE 'UTC'
AS DATE
)
FROM DUAL;
日付を出力します2016-11-24 14:20:52
(入力日のUTC表現)。