カテゴリ:

変換関数日付と時刻の関数

TRY_TO_DATE

同じ操作を実行する(入力式を日付に変換する)が、エラー処理がサポートされている TO_DATE 関数の特別バージョンです。(つまり、変換を実行できない場合、エラーを発生させる代わりに NULL 値を返します)。

詳細については、 エラー処理変換関数 をご参照ください。

こちらもご参照ください。

TO_DATE , DATE

構文

TRY_TO_DATE( <string_expr> [, <format> ] )
TRY_TO_DATE( '<integer>' )
Copy

引数

必須:

次のいずれか:

string_expr

日付を抽出する文字列。例: '2024-01-31'

'integer'

整数を含む文字列に評価される式。例: '15000000'。文字列の大きさに応じて、秒、ミリ秒、マイクロ秒、またはナノ秒として解釈できます。詳細については、この関数の 使用上の注意 をご参照ください。

オプション:

format

string_expr または AUTO の日付形式指定子。これは、Snowflakeが使用する形式を自動的に検出することを指定します。詳細については、 変換関数の日付と時刻の形式 をご参照ください。

デフォルトは、 DATE_INPUT_FORMAT セッションパラメーターの現在の値です(デフォルトは AUTO)。

戻り値

戻り値のデータ型は DATE です。

使用上の注意

  • 出力における日付の表示形式は、 DATE_OUTPUT_FORMAT セッションパラメーター(デフォルト YYYY-MM-DD)によって決定されます。

  • 入力パラメーターの形式が整数を含む文字列の場合:

    • 文字列が整数に変換された後、Unixエポックの開始後の秒数、ミリ秒、マイクロ秒、またはナノ秒として整数が扱われます(1970-01-01 00:00:00.000000000 UTC)。

      • 整数が31536000000(1年のミリ秒数)より小さい場合、値は秒数として扱われます。

      • 値が31536000000以上で31536000000000未満の場合、値はミリ秒として扱われます。

      • 値が31536000000000以上で31536000000000000より小さい場合、値はマイクロ秒として扱われます。

      • 値が31536000000000000以上の場合、値はナノ秒として扱われます。

    • 複数の行が評価される場合(例: 入力が複数の行を含むテーブルの列名である場合)、値が秒、ミリ秒、マイクロ秒、またはナノ秒を表しているかどうかを判断するために、各値が個別に検査されます。

次の例では、 TRY_TO_DATE 関数を使用します。

SELECT 
  TRY_TO_DATE('2024-05-10') AS valid_date, 
  TRY_TO_DATE('Invalid') AS invalid_date;
Copy
+------------+--------------+
| VALID_DATE | INVALID_DATE |
|------------+--------------|
| 2024-05-10 | NULL         |
+------------+--------------+

入力式を日付に変換する例については、 TO_DATE , DATE をご参照ください。