Kategorien:

Konvertierungsfunktionen

CAST, ::

Konvertiert einen Wert von einem Datentyp in einen anderen Datentyp. Die Semantik von CAST stimmt mit der Semantik der entsprechenden TO_ Datentyp-Konvertierungsfunktionen überein. Wenn die Umwandlung nicht möglich ist, wird ein Fehler erzeugt. Weitere Informationen dazu finden Sie unter den einzelnen TO_ Datentyp-Konvertierungsfunktionen.

Der ::-Operator bietet eine alternative Syntax für CAST.

Siehe auch:

TRY_CAST

Syntax

CAST( <source_expr> AS <target_data_type> )

<source_expr> :: <target_data_type>

Argumente

Quellausdruck

Ausdruck eines beliebigen unterstützten Datentyps, der in einen anderen Datentyp konvertiert werden soll.

Zieldatentyp

Der Datentyp, in den der Ausdruck konvertiert werden soll. Wenn der Datentyp zusätzliche Eigenschaften wie Genauigkeit und Skalierung (bei Zahlen/Dezimalzahlen) unterstützt, können die Eigenschaften eingeschlossen werden.

Nutzungshinweise

  • Wenn die Skalierung nicht ausreicht, um den Eingangswert in der gegebenen Form beizubehalten, rundet die Funktion den Wert.

  • Wenn die Genauigkeit nicht ausreicht, um den Eingangswert in der gegebenen Form beizubehalten, gibt die Funktion einen Fehler aus.

Beispiele

Konvertieren einer Zeichenfolge, die eine Zahl enthält, in eine Dezimalzahl mit der angegebenen Skalierung (2):

SELECT CAST('1.2345' AS DECIMAL(15,2));
+---------------------------------+
| CAST('1.2345' AS DECIMAL(15,2)) |
|---------------------------------|
|                            1.23 |
+---------------------------------+

Konvertiert dieselbe Zeichenfolge in eine Dezimalzahl mit Skalierung 5 unter Verwendung der ::-Notation:

SELECT '1.2345'::DECIMAL(15,5);
+-------------------------+
| '1.2345'::DECIMAL(15,5) |
|-------------------------|
|                 1.23450 |
+-------------------------+

Umwandeln einer Zahl in eine Ganzzahl:

SELECT CAST(1.56 AS INTEGER);
+-----------------------+
| CAST(1.56 AS INTEGER) |
|-----------------------|
|                     2 |
+-----------------------+

Umwandeln einer Zeichenfolge, die ein Datum enthält, in einen Zeitstempel:

SELECT CAST('05-Mar-2014' AS TIMESTAMP);
+----------------------------------+
| CAST('05-MAR-2014' AS TIMESTAMP) |
|----------------------------------|
| 2014-03-05 00:00:00.000          |
+----------------------------------+