Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Fonction
S’applique à :
Databricks SQL
Databricks Runtime 10.4 LTS et versions ultérieures
Retourne la valeur de sourceExpr castée en targetType si le cast est pris en charge ; sinon, elle retourne NULL, à condition que la conversion du type de sourceExpr vers targetType soit prise en charge. Si les types source et cible ne sont pas une combinaison valide de cast, une erreur DATATYPE_MISMATCH est retournée. Consultez Les retours pour connaître les combinaisons de cast prises en charge.
Syntaxe
try_cast(sourceExpr AS targetType)
Les arguments
-
sourceExpr: toute expression castable. -
targetType: type du résultat.
Retours
Le résultat est de type targetType.
Cette fonction est une variante plus détendue de cast la fonction qui comprend une description détaillée.
try_cast diffère de la fonction cast en tolérant les conditions suivantes tant que le cast du type de expr vers type est pris en charge :
- Si une
sourceExprvaleur ne peut pas s’adapter au domaine detargetType, le résultat estNULLau lieu d’une erreur de dépassement de capacité. Les lancers vers DECFLOAT suivent l’exception ci-dessous. - Si une
sourceExprvaleur n’est pas bien formée ou contient des caractères non valides, le résultat estNULLau lieu d’une erreur de données non valide.
Les exceptions à ce qui précède sont :
- Le lancement vers DECFLOAT utilise
DECFLOAT_ROUNDING_MODE. Avec le défautROUND_HALF_EVEN, le dépassement produit l’infini signé au lieu deNULL. L’arrondi vers la précision cible peut également réussir sans retournerNULL. - Cast sur un champ STRUCT avec la propriété
NOT NULL. - Cast d’une clé MAP.
Exemples
> SELECT try_cast('10' AS INT);
10
> SELECT try_cast('a' AS INT);
NULL