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.
CONVERT-Funktion
Wie die CAST-Funktion konvertiert die CONVERT-Funktion einen Datentyp in einen anderen kompatiblen Datentyp. Sie können beispielsweise eine Zeichenfolge in ein Datum oder einen numerischen Typ in eine Zeichenfolge konvertieren. CONVERT führt eine Laufzeitkonvertierung durch, was bedeutet, dass die Konvertierung den Datentyp eines Werts in einer Quelltabelle nicht ändert. Dieser wird nur im Kontext der Abfrage geändert.
Bestimmte Datentypen erfordern eine explizite Konvertierung in andere Datentypen unter Verwendung der CONVERT-Funktion. Andere Datentypen können implizit als Teil eines anderen Befehls konvertiert werden, ohne CAST oder CONVERT zu verwenden. Siehe Kompatibilität von Typen und Umwandlung zwischen Typen.
Syntax
CONVERT ( type, expression )
Argumente
- Typ
-
Einer der unterstütztenDatentypen, mit Ausnahme der VARYTE-, BINARY- und BINARY-Datentypen.
- 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 oder leeren Zeichenfolgen enthalten.
Rückgabetyp
CONVERT gibt den Datentyp zurück, der durch das Argument type angegeben ist.
Anmerkung
AWS Clean Rooms gibt einen Fehler zurück, wenn Sie versuchen, eine problematische Konvertierung durchzuführen, z. B. eine DECIMAL-Konvertierung, die an Genauigkeit verliert, wie die folgende:
SELECT CONVERT(decimal(2,1), 123.456);
oder eine INTEGER-Konvertierung, die einen Overflow verursacht:
SELECT CONVERT(smallint, 12345678);
Beispiele
Die folgende Abfrage verwendet die CONVERT-Funktion, um eine Spalte mit Dezimalzahlen in Ganzzahlen zu konvertieren.
SELECT CONVERT(integer, pricepaid) FROM sales WHERE salesid=100;
In diesem Beispiel wird eine Ganzzahl in eine Zeichenfolge konvertiert.
SELECT CONVERT(char(4), 2008);
In diesem Beispiel werden das aktuelle Datum und die aktuelle Uhrzeit in einen variablen Zeichendatentyp konvertiert:
SELECT CONVERT(VARCHAR(30), GETDATE());
getdate --------- 2023-02-02 04:31:16
In diesem Beispiel wird die Saletime-Spalte in eine reine Zeitspalte konvertiert, wobei die Datumsangaben aus jeder Zeile entfernt werden.
SELECT CONVERT(time, saletime), salesid FROM sales order by salesid limit 10;
Im folgenden Beispiel werden variable Zeichendaten in ein Datetime-Objekt konvertiert.
SELECT CONVERT(datetime, '2008-02-18 02:36:48') as mysaletime;