Kategorien:

Konvertierungsfunktionen

TRY_CAST

Eine spezielle Version von CAST, ::, die für eine Teilmenge von Datentypkonvertierungen verfügbar ist. Die Funktion führt dieselbe Operation aus (d. h. konvertiert einen Wert von einem Datentyp in einen anderen Datentyp), gibt jedoch einen NULL-Wert zurück, anstatt einen Fehler zu melden, wenn die Konvertierung nicht ausgeführt werden kann.

Weitere Informationen dazu finden Sie unter Konvertierungsfunktionen zur Fehlerbehandlung.

Syntax

TRY_CAST( <source_string_expr> AS <target_data_type> )
Copy

Nutzungshinweise

  • Funktioniert nur bei Zeichenfolgenausdrücken.

  • target_data_type muss einer der folgenden sein:

    • VARCHAR (oder eines seiner Synonyme)

    • NUMBER (oder eines seiner Synonyme)

    • DOUBLE

    • BOOLEAN

    • DATE

    • TIME

    • TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ oder TIMESTAMP_TZ

Beispiele

Die folgenden Codebeispiele zeigen, wie die Funktion TRY_CAST mit gültigen und ungültigen Werten verwendet wird:

SELECT TRY_CAST('05-Mar-2016' AS TIMESTAMP);
+--------------------------------------+
| TRY_CAST('05-MAR-2016' AS TIMESTAMP) |
|--------------------------------------|
| 2016-03-05 00:00:00.000              |
+--------------------------------------+
Copy
SELECT TRY_CAST('05/16' AS TIMESTAMP);
+--------------------------------+
| TRY_CAST('05/16' AS TIMESTAMP) |
|--------------------------------|
| NULL                           |
+--------------------------------+
Copy
SELECT TRY_CAST('ABCD' AS CHAR(2));
+-----------------------------+
| TRY_CAST('ABCD' AS CHAR(2)) |
|-----------------------------|
| NULL                        |
+-----------------------------+
Copy
SELECT TRY_CAST('ABCD' AS VARCHAR(10));
+---------------------------------+
| TRY_CAST('ABCD' AS VARCHAR(10)) |
|---------------------------------|
| ABCD                            |
+---------------------------------+
Copy