次の方法で共有


try_cast 関数

適用対象:check marked yes 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