カテゴリ:

変換関数

TRY_CAST

データ型変換のサブセットに使用できる CAST 、 :: の特別なバージョンです。同じ操作を実行します(あるデータ型の値を別のデータ型に変換)が、変換を実行できない場合はエラーを発生させる代わりに NULL 値を返します。

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

構文

TRY_CAST( <source_string_expr> AS <target_data_type> )

使用上の注意

  • 文字列式でのみ機能します。

  • ターゲットデータ型 は次のいずれかでなければなりません。

    • VARCHAR (またはその同義語のいずれか)

    • NUMBER (またはその同義語のいずれか)

    • DOUBLE

    • BOOLEAN

    • DATE

    • TIME

    • TIMESTAMP、 TIMESTAMP_LTZ、 TIMESTAMP_NTZ、または TIMESTAMP_TZ

次のコードサンプルは、有効な値と無効な値で TRY_CAST 関数を使用する方法を示しています。

SELECT TRY_CAST('05-Mar-2016' AS TIMESTAMP);
+--------------------------------------+
| TRY_CAST('05-MAR-2016' AS TIMESTAMP) |
|--------------------------------------|
| 2016-03-05 00:00:00.000              |
+--------------------------------------+
SELECT TRY_CAST('05/16' AS TIMESTAMP);
+--------------------------------+
| TRY_CAST('05/16' AS TIMESTAMP) |
|--------------------------------|
| NULL                           |
+--------------------------------+
SELECT TRY_CAST('ABCD' AS CHAR(2));
+-----------------------------+
| TRY_CAST('ABCD' AS CHAR(2)) |
|-----------------------------|
| NULL                        |
+-----------------------------+
SELECT TRY_CAST('ABCD' AS VARCHAR(10));
+---------------------------------+
| TRY_CAST('ABCD' AS VARCHAR(10)) |
|---------------------------------|
| ABCD                            |
+---------------------------------+