TO_TIMESTAMP
構文
目的
TO_TIMESTAMP
は、char
をTIMESTAMP
データ型の値に変換します。
char
には、CHAR
、VARCHAR2
、NCHAR
またはNVARCHAR2
のデータ型の文字列と評価される任意の式を指定できます。
オプションのDEFAULT
return_value
ON
CONVERSION
ERROR
句により、char
からTIMESTAMP
への変換中にエラーが発生した場合にこのファンクションで戻される値を指定できます。char
の評価中にエラーが発生した場合、この句による影響はありません。return_value
は式またはバインド変数にすることができ、CHAR
、VARCHAR2
、NCHAR
またはNVARCHAR2
のデータ型の文字列、あるいはNULLと評価される必要があります。char
をTIMESTAMP
に変換する場合と同じ方法を使用して、return_value
がTIMESTAMP
に変換されます。return_value
をTIMESTAMP
に変換できない場合は、エラーが戻されます。
オプションのfmt
は、char
の書式を指定します。fmt
を指定しない場合、char
はデフォルト書式のTIMESTAMP
データ型である必要があります。このデータ型は、NLS_TIMESTAMP_FORMAT
初期化パラメータによって決まります。オプションの'nlsparam'
引数は、日付変換のTO_CHAR
ファンクションの場合と同じ用途で使用されます。
このファンクションは、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
初期化パラメータを参照してください。書式マスクの指定の詳細は、「日時書式モデル」を参照してください