

 Amazon Redshift unterstützt ab Patch 198 nicht mehr die Erstellung neuer Python-UDFs. Bestehende Python-UDFs werden bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# TRY\_CAST-Funktion
<a name="r_TRY_CAST"></a>

Im Vergleich zur CAST-Funktion versucht TRY\_CAST zunächst, den Ausdruck in den angegebenen Typ umzuwandeln. Wenn die Umwandlung aufgrund von Konvertierungsfehlern fehlschlägt, gibt der Vorgang Null zurück. Wenn eine Konvertierung nicht ausdrücklich zulässig ist, gibt der Vorgang einen Fehler zurück. Die Liste der möglichen Konvertierungen finden Sie in den folgenden Nutzungshinweisen. Der Versuch, einen booleschen Wert in einen Zeitstempel zu konvertieren, ist beispielsweise nicht zulässig. 

## Syntax
<a name="r_TRY_CAST-syntax"></a>

```
TRY_CAST(expression AS type)
```

## Argumente
<a name="r_TRY_CAST-arguments"></a>

 *expression*   
Ein Ausdruck, der einen oder mehrere Werte auswertet, beispielsweise ein Spaltenname oder ein Literal. Die Konvertierung von Null-Werten gibt Null-Werte zurück. Der Ausdruck darf keine leeren Zeichenfolgen enthalten. 

 *Typ*   
 Einer der unterstützten Datentypen. Eine vollständige Liste von Datentypen finden Sie unter [Datentypen](c_Supported_data_types.md). Eine Liste der unterstützten Paare von Quell- und Zieldatentyp finden Sie in den folgenden Verwendungshinweisen. 

## Rückgabetyp
<a name="r_TRY_CAST-return-type"></a>

TRY\_CAST gibt den Datentyp zurück, der durch das Argument *type* angegeben ist. Wenn die Konvertierung fehlschlägt, gibt der Vorgang Null zurück. 

## Nutzungshinweise
<a name="r_TRY_CAST-usage-notes"></a>

Im Folgenden finden Sie die Liste der Quell- und Zieldatentyppaare, die Amazon Redshift für TRY\_CAST unterstützt.

 * BOOL *   
 SMALLINT, INT, BIGINT, SUPER 

 * SMALLINT *   
 BOOL, INT, BIGINT, DECIMAL, REAL, FLOAT, BPCHAR, TEXT, VARCHAR, SUPER 

 * INT *   
 BOOL, SMALLINT, BIGINT, DECIMAL, REAL, FLOAT, BPCHAR, TEXT, VARCHAR, SUPER 

 * BIGINT *   
 BOOL, SMALLINT, INT, DECIMAL, REAL, FLOAT, BPCHAR, TEXT, VARCHAR, SUPER 

 * DECIMAL *   
 SMALLINT, INT, BIGINT, REAL, FLOAT, BPCHAR, TEXT, VARCHAR, SUPER 

 * REAL *   
 SMALLINT, INT, BIGINT, DECIMAL, FLOAT, BPCHAR, TEXT, VARCHAR, SUPER 

 * FLOAT *   
 MALLINT, INT, BIGINT, DECIMAL, REAL, BPCHAR, TEXT, VARCHAR, SUPER 

 * BPCHAR *   
 SMALLINT, INT, BIGINT, DECIMAL, REAL, FLOAT, TEXT, VARCHAR, TIMESTAMP, TIMESTAMPTZ, DATE, TIME, TIMETZ, SUPER 

 * TEXT *   
 SMALLINT, INT, BIGINT, DECIMAL, REAL, FLOAT, BPCHAR, VARCHAR, TIMESTAMP, TIMESTAMPTZ, DATE, TIME, TIMETZ, SUPER 

 * VARCHAR *   
 SMALLINT, INT, BIGINT, DECIMAL, REAL, FLOAT, BPCHAR, TEXT, TIMESTAMP, TIMESTAMPTZ, DATE, TIME, TIMETZ, SUPER 

 *ZEITSTEMPEL*   
 BPCHAR, TEXT, VARCHAR, TIMESTAMPTZ, DATE, TIME 

 * TIMESTAMPTZ *   
 BPCHAR, TEXT, VARCHAR, TIMESTAMP, DATE, TIME, TIMETZ 

 * DATE *   
 BPCHAR, TEXT, VARCHAR, TIMESTAMP, TIMESTAMPTZ 

 * TIME *   
 BPCHAR, TEXT, VARCHAR 

 * TIMETZ *   
 BPCHAR, TEXT, VARCHAR 

 * SUPER *   
 SUPER kann in jeden anderen Datentyp konvertiert werden, mit Ausnahme von DATE, TIME, TIMETZ, TIMESTAMP und TIMESTAMPTZ. 

## Beispiele
<a name="r_TRY_CAST-examples"></a>

Das folgende Beispiel wandelt einen STRING in einen INTEGER-Wert um.

```
SELECT TRY_CAST('123' AS INT);

int
----
123
```

Im folgenden Beispiel wird Null zurückgegeben. Die Konvertierung von STRING zu INTEGER ist zulässig, so dass TRY\_CAST keinen Fehler zurückgibt, aber 'foo' ist keine Ganzzahl, so dass die Funktion Null zurückgibt.

```
SELECT TRY_CAST('foo' AS INT)
```

Das folgende Beispiel gibt einen Fehler zurück, da die Konvertierung von BOOLEAN zu TIMESTAMP nicht zulässig ist.

```
SELECT TRY_CAST(true as timestamp);
```

Da TRY\_CAST Null zurückgibt, anstatt sofort einen Fehler zurückzugeben, wenn die Konvertierung fehlschlägt, können Sie TRY\_CAST verwenden, um ungültige Daten herauszufiltern. Betrachten Sie das folgende Beispiel, in dem eine ungültige Zeile aufgrund eines Konvertierungsfehlers in der Altersspalte für Akua Mansa herausgefiltert wird.

```
CREATE TABLE IF NOT EXISTS student_data(
name VARCHAR(100) NOT NULL,
age VARCHAR(3) NOT NULL,
enrollment_date DATE NOT NULL);

INSERT INTO student_data (name, age, enrollment_date)
VALUES
('Alejandro Rosalez', '10', '01/01/2000'),
('Akua Mansa', 'Ten', '01/01/2000');

SELECT * FROM student_data WHERE TRY_CAST(age AS INT) IS NOT NULL;

--Akua is not returned.
 name              | age | enrollment_date
-------------------+-----+-----------------
 Alejandro Rosalez | 10  | 01/01/2000
```