TO_TIMESTAMP

構文

目的

TO_TIMESTAMPは、charTIMESTAMPデータ型の値に変換します。

charには、CHARVARCHAR2NCHARまたはNVARCHAR2のデータ型の文字列と評価される任意の式を指定できます。

オプションのDEFAULT return_value ON CONVERSION ERROR句により、charからTIMESTAMPへの変換中にエラーが発生した場合にこのファンクションで戻される値を指定できます。charの評価中にエラーが発生した場合、この句による影響はありません。return_valueは式またはバインド変数にすることができ、CHARVARCHAR2NCHARまたはNVARCHAR2のデータ型の文字列、あるいはNULLと評価される必要があります。charTIMESTAMPに変換する場合と同じ方法を使用して、return_valueTIMESTAMPに変換されます。return_valueTIMESTAMPに変換できない場合は、エラーが戻されます。

オプションのfmtは、charの書式を指定します。fmtを指定しない場合、charはデフォルト書式のTIMESTAMPデータ型である必要があります。このデータ型は、NLS_TIMESTAMP_FORMAT初期化パラメータによって決まります。オプションの'nlsparam'引数は、日付変換のTO_CHARファンクションの場合と同じ用途で使用されます。

注意:

charが、セッションのロケール(NLS)構成とは無関係に、既知の固定形式に評価されるリテラルまたは式である場合は、次の項の例で示すように、必ずTO_TIMESTAMPで書式マスク(fmt)を指定することをお薦めします。TO_TIMESTAMPが書式マスクなしで使用されているときは、このファンクションは、NLS_TERRITORYパラメータとNLS_TIMESTAMP_FORMATパラメータで指定されているのと同じ書式がcharで使用されている場合のみ有効です。

ただし、charが、アプリケーションによって提供されるユーザー入力に対応しており(バインド変数でなど)、そのユーザー入力が、NLS_TIMESTAMP_FORMATパラメータで指定されている、そのセッションに対して設定されたロケール(NLS)規則に従っている必要がある場合は、書式マスクを指定しないでください。

このファンクションは、CLOBデータを直接的にサポートしていません。ただし、暗黙的なデータ変換を使用してCLOBを引数として渡すことはできます。

関連項目:

詳細は、「データ型の比較規則」を参照してください。

次の例では、文字列をタイムスタンプに変換します。文字列がデフォルトのTIMESTAMP書式ではないため、書式マスクを指定する必要があります。

SELECT TO_TIMESTAMP ('10-Sep-02 14:10:10.123000', 'DD-Mon-RR HH24:MI:SS.FF')
  FROM DUAL;

TO_TIMESTAMP('10-SEP-0214:10:10.123000','DD-MON-RRHH24:MI:SS.FF')
---------------------------------------------------------------------------
10-SEP-02 02.10.10.123000000 PM

次の例では、無効な月を指定していることで、指定した式をTIMESTAMP値に変換できないため、デフォルト値のNULLが戻されます。

SELECT TO_TIMESTAMP ('10-Sept-02 14:10:10.123000'
  DEFAULT NULL ON CONVERSION ERROR,
  'DD-Mon-RR HH24:MI:SS.FF',
  'NLS_DATE_LANGUAGE = American') "Value"
  FROM DUAL;

関連項目:

デフォルトのTIMESTAMP書式の詳細は、NLS_TIMESTAMP_FORMAT初期化パラメータを参照してください。書式マスクの指定の詳細は、「日時書式モデル」を参照してください