- カテゴリ:
TRY_TO_TIMESTAMP / TRY_TO_TIMESTAMP_*¶
同じ操作を実行する(入力式をタイムスタンプに変換する)が、エラー処理がサポートされている TO_TIMESTAMP / TO_TIMESTAMP_* の特別バージョンです(つまり、変換を実行できない場合、エラーを発生させる代わりに NULL 値を返します)。
詳細については、 エラー処理変換関数 をご参照ください。
注釈
TRY_TO_TIMESTAMP TIMESTAMP_TYPE_MAPPING セッションパラメータに基づいて、他のタイムスタンプ関数の1つにマッピングします。パラメータのデフォルトはTIMESTAMP_NTZであるため、TRY_TO_TIMESTAMPはデフォルトでTRY_TO_TIMESTAMP_NTZにマッピングされます。
- こちらもご参照ください。
構文¶
timestampFunction ( <string_expr> [, <format> ] )
timestampFunction ( '<integer>' )
条件:
timestampFunction ::= TRY_TO_TIMESTAMP | TRY_TO_TIMESTAMP_LTZ | TRY_TO_TIMESTAMP_NTZ | TRY_TO_TIMESTAMP_TZ
引数¶
必須:
次のいずれか:
string_expr
引数は、 TIMESTAMP (TIMESTAMP_NTZ、 TIMESTAMP_LTZ、または TIMESTAMP_TZ)に評価できる文字列でなければなりません。
'integer'
整数を含む 文字列 に評価される式。例:「15000000」。文字列の大きさに応じて、秒、ミリ秒、マイクロ秒、またはナノ秒として解釈できます。詳細については、以下の 使用上の注意 をご参照ください。
注釈
入力として引用符で囲まれた整数を使用することは非推奨です。
オプション:
format
string_expr
または AUTO のフォーマット指定子。詳細については、 変換関数の日付と時刻の形式 をご参照ください。デフォルトは、 TIMESTAMP_INPUT_FORMAT セッションパラメーターの現在の値です(通常は AUTO)。
戻り値¶
返される値のデータ型は、 TIMESTAMP
データ型のいずれかです。デフォルトでは、データ型は TIMESTAMP_NTZ
です。これを変更するには、セッションパラメーター TIMESTAMP_TYPE_MAPPING を設定します。
使用上の注意¶
入力パラメーターの形式が整数を含む文字列の場合:
文字列が整数に変換された後、Unixエポックの開始後の秒数、ミリ秒、マイクロ秒、またはナノ秒として整数が扱われます(1970-01-01 00:00:00.000000000 UTC)。
整数が31536000000(1年のミリ秒数)より小さい場合、値は秒数として扱われます。
値が31536000000以上で31536000000000未満の場合、値はミリ秒として扱われます。
値が31536000000000以上で31536000000000000より小さい場合、値はマイクロ秒として扱われます。
値が31536000000000000以上の場合、値はナノ秒として扱われます。
注釈
非推奨の警告: Snowflakeの将来のバージョンでは、文字列化された整数値をミリ秒、マイクロ秒、ナノ秒ではなく、秒として自動的に解釈する可能性があります。Snowflakeは、整数を秒として解釈することが意図されている場合にのみ、整数を含む文字列で TO_DATE、 TO_TIME または TO_TIMESTAMP を呼び出すことをお勧めします。
複数の行が評価される場合(例: 入力が複数の行を含むテーブルの列名である場合)、値が秒、ミリ秒、マイクロ秒、またはナノ秒を表しているかどうかを判断するために、各値が個別に検査されます。
例¶
これは TRY_TO_TIMESTAMP
の使用方法を示しています。
SELECT TRY_TO_TIMESTAMP('2018-09-15 12:30:00'), TRY_TO_TIMESTAMP('Invalid'); +-----------------------------------------+-----------------------------+ | TRY_TO_TIMESTAMP('2018-09-15 12:30:00') | TRY_TO_TIMESTAMP('INVALID') | |-----------------------------------------+-----------------------------| | 2018-09-15 12:30:00.000 | NULL | +-----------------------------------------+-----------------------------+