Partage via


Fonction try_cast

S’applique à :coche marquée oui Databricks SQL oui coché 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 sourceExpr valeur ne peut pas s’adapter au domaine de targetType, le résultat est NULL au lieu d’une erreur de dépassement de capacité.
  • Si une sourceExpr valeur n’est pas bien formée ou contient des caractères non valides, le résultat est NULL au lieu d’une erreur de données non valide.

Les exceptions à ce qui précède sont les suivantes :

  • 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