適用対象:
Databricks SQL
Databricks Runtime 10.4 LTS 以降
キャストがサポートされている場合は、sourceExprにキャストtargetTypeの値を返します。それ以外の場合は、NULLの型からsourceExprへのキャストがサポートされている場合は、targetTypeを返します。 ソースとターゲットの型が有効なキャストの組み合わせでない場合は、 DATATYPE_MISMATCH エラーが返されます。 サポートされているキャストの組み合わせについては、「 戻り値 」を参照してください。
構文
try_cast(sourceExpr AS targetType)
引数
-
sourceExpr: 任意のキャスト可能な式。 -
targetType: 結果の型。
戻り値
結果は targetType 型です。
この関数は、詳細な説明を含む cast 関数 のより緩やかなバリアントです。
try_castは、castからへのキャストがサポートされている限り、次の条件を許容する点でexpr関数と異なります。
-
sourceExprの値がtargetTypeのドメイン内に適合しない場合、結果はオーバーフロー エラーではなくNULLです。 -
sourceExprの値の形式が正しくない場合、または無効な文字が含まれている場合、結果は無効なデータ エラーではなくNULLです。
上記の例外は次のとおりです。
-
プロパティを持つ
NOT NULLフィールドへのキャスト。 - MAP キーのキャスト。
例
> SELECT try_cast('10' AS INT);
10
> SELECT try_cast('a' AS INT);
NULL