web-dev-qa-db-ja.com

文字列ISO-8601の日付をOracleのタイムスタンプデータ型に変換します

VARCHAR2タイプのISO-8601日付がありますが、Oracleデータベースでその文字列の日付をタイムスタンプに変換するにはどうすればよいですか?

日付の例: "2014-09-12T11:53:06 + 00:00"

たぶん次のようなものですが、フォーマットがわかりません。

SELECT to_timestamp_tz ('2014-09-12T11:53:06+00:00', ????) FROM DUAL
12
hades

日付形式のモデル要素は ドキュメントに記載されています

SELECT to_timestamp_tz ('2014-09-12T11:53:06+00:00', 'YYYY-MM-DD"T"HH24:MI:SSTZH:TZM')
FROM DUAL

TO_TIMESTAMP_TZ('2014-09-12T11:53:06+00:00','YYYY-MM-DD"T"HH24:MI:SSTZH:TZM
---------------------------------------------------------------------------
12-SEP-14 11.53.06.000000000 +00:00

固定のTは、文字リテラルとして含めることができます。

これらの文字を日付形式モデルに含めることができます。

  • ハイフン、スラッシュ、コンマ、ピリオド、コロンなどの句読点
  • 二重引用符で囲まれた文字リテラル

TZHはトームゾーンの時間、TZMはタイムゾーンの分です。残りはより一般的なモデル要素です。

18
Alex Poole