共用方式為


try_cast函式

適用於:核取記號為「是」 Databricks SQL 核取記號為「是」 Databricks Runtime 10.4 LTS 和更新版本

如果支援將sourceExpr轉換為targetType,則會傳回該值;如果不支援,則在支援從NULLsourceExpr的轉換的前提下,傳回targetType。 如果來源和目標類型不是有效的轉換組合,則會傳回 DATATYPE_MISMATCH 錯誤。 如需了解支援的型別轉換組合,請參閱 Returns

語法

try_cast(sourceExpr AS targetType)

引數

  • sourceExpr:任何可轉換的表達式。
  • targetType:結果的類型。

傳回

其結果會是 targetType 類型。

此函式是函式更寬鬆的變體,cast其中包含詳細的描述。

try_cast cast 只要支持轉換的 型別,則與 函式不同,只要轉換自 的型exprtype別得到支援, 就不一樣:

  • sourceExpr如果值不能符合結果的targetType網域,則為 NULL ,而不是溢位錯誤。
  • sourceExpr如果值的格式不正確或包含無效的字元,則結果會NULL不是無效的數據錯誤。

上述例外狀況如下:

  • 轉換為具有 屬性的 NOT NULL 欄位。
  • 轉換 MAP 鍵。

範例

> SELECT try_cast('10' AS INT);
 10

> SELECT try_cast('a' AS INT);
 NULL