Freigeben über


try_cast-Funktion

Gilt für:Häkchen ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 10.4 LTS und höher

Gibt den Wert von sourceExpr zurück, umgewandelt in targetType, wenn die Umwandlung unterstützt wird; andernfalls wird NULL zurückgegeben, vorausgesetzt, dass die Umwandlung vom Typ sourceExpr zu targetType unterstützt wird. Wenn die Quell- und Zieltypen keine gültige Umwandlungskombination sind, wird ein DATATYPE_MISMATCH Fehler zurückgegeben. Siehe "Rückgabe " für unterstützte Umwandlungskombinationen.

Syntax

try_cast(sourceExpr AS targetType)

Argumente

  • sourceExpr: Ein beliebiger umwandlungsfähiger Ausdruck.
  • targetType: Der Typ des Ergebnisses.

Gibt zurück

Das Ergebnis ist vom Typ targetType.

Diese Funktion ist eine entspanntere Variante der cast Funktion , die eine detaillierte Beschreibung enthält.

try_cast unterscheidet sich von der cast-Funktion, indem die folgenden Bedingungen toleriert werden, solange die Umwandlung vom Typ expr zu type unterstützt wird.

  • Wenn ein sourceExpr-Wert in der Domäne von targetType nicht das Ergebnis NULL anstelle eines Überlauffehlers ist.
  • Wenn ein sourceExpr-Wert nicht gut gebildet ist oder ungültige Zeichen enthält, ist NULL das Ergebnis anstelle eines ungültigen Datenfehlers.

Ausnahmen des Obigen sind:

  • Umwandlung in ein STRUCT-Feld mit NOT NULL-Eigenschaft.
  • Umwandeln eines MAP-Schlüssels.

Beispiele

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

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