- カテゴリ:
TRY_TO_TIME¶
同じ操作を実行する(入力式を時刻に変換する)が、エラー処理がサポートされている TO_TIME , TIME の特別バージョンです(つまり、変換を実行できない場合、エラーを発生させる代わりに NULL 値を返します)。
詳細については、 エラー処理変換関数 をご参照ください。
- こちらもご参照ください。
構文¶
TRY_TO_TIME( <string_expr> [, <format> ] )
TRY_TO_TIME( '<integer>' )
引数¶
必須:
次のいずれか:
string_expr
有効な時刻に変換できる文字列。
'integer'
整数を含む 文字列 に評価される式。例:
'15000000'
。文字列の大きさに応じて、秒、ミリ秒、マイクロ秒、またはナノ秒として解釈できます。詳細については、 使用上の注意 をご参照ください。
オプション:
format
string_expr
または AUTO のフォーマット指定子。詳細については、 変換関数の日付と時刻の形式 をご参照ください。デフォルトは、 TIME_INPUT_FORMAT セッションパラメーターの現在の値です(デフォルトは AUTO)。
戻り値¶
戻り値のデータ型は TIME です。
使用上の注意¶
出力における時間の表示形式は、 TIME_OUTPUT_FORMAT セッションパラメーター(デフォルト
HH24:MI:SS
)によって決定されます。入力パラメーターの形式が整数を含む文字列の場合、値の測定単位(秒、マイクロ秒、ミリ秒、またはナノ秒)は次のように決定されます。
文字列が整数に変換された後、Unixエポックの開始後の秒数、ミリ秒、マイクロ秒、またはナノ秒として整数が扱われます(1970-01-01 00:00:00.000000000 UTC)。
整数が31536000000(1年のミリ秒数)より小さい場合、値は秒数として扱われます。
値が31536000000以上で31536000000000未満の場合、値はミリ秒として扱われます。
値が31536000000000以上で31536000000000000より小さい場合、値はマイクロ秒として扱われます。
値が31536000000000000以上の場合、値はナノ秒として扱われます。
複数の行が評価される場合(例: 入力が複数の行を含むテーブルの列名である場合)、値が秒、ミリ秒、マイクロ秒、またはナノ秒を表しているかどうかを判断するために、各値が個別に検査されます。
例¶
この例では、 TRY_TO_TIME を使用します。
SELECT TRY_TO_TIME('12:30:00'), TRY_TO_TIME('Invalid');
+-------------------------+------------------------+
| TRY_TO_TIME('12:30:00') | TRY_TO_TIME('INVALID') |
|-------------------------+------------------------|
| 12:30:00 | NULL |
+-------------------------+------------------------+
入力式を時間に変換する例については、 TO_TIME , TIME をご参照ください。