適用於:
Databricks SQL
Databricks Runtime 10.4 LTS 和更新版本
如果支援將sourceExpr轉換為targetType,則會傳回該值;如果不支援,則在支援從NULL到sourceExpr的轉換的前提下,傳回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