Die Funktion CAST() in MySQL wird verwendet, um einen Wert von einem Datentyp in einen anderen im Ausdruck angegebenen Datentyp zu konvertieren. Es wird hauptsächlich mit WHERE-, HAVING- und JOIN-Klauseln verwendet. Diese Funktion ähnelt der Funktion CONVERT() in MySQL .
Im Folgenden sind die Datentypen aufgeführt, mit denen diese Funktion perfekt funktioniert:
Datentyp | Beschreibungen |
---|---|
DATUM | Es konvertiert den Wert in den Datentyp DATE im Format „JJJJ-MM-TT“. Es unterstützt den Datumsbereich von „1000-01-01“ bis „9999-12-31“. |
TERMINZEIT | Es konvertiert den Wert in den Datentyp DATETIME im Format „JJJJ-MM-TT HH:MM:SS“. Es unterstützt den Bereich von „1000-01-01 00:00:00“ bis „9999-12-31 23:59:59“. |
ZEIT | Der Wert wird in den Datentyp TIME im Format „HH:MM:SS“ konvertiert. Es unterstützt den Zeitbereich von „-838:59:59“ bis „838:59:59“. |
VERKOHLEN | Es konvertiert einen Wert in den Datentyp CHAR, der die Zeichenfolge fester Länge enthält. |
DEZIMAL | Es konvertiert einen Wert in den Datentyp DECIMAL, der eine Dezimalzeichenfolge enthält. |
UNTERZEICHNET | Es konvertiert einen Wert in den Datentyp SIGNED, der die vorzeichenbehaftete 64-Bit-Ganzzahl enthält. |
OHNE VORZEICHEN | Es konvertiert einen Wert in den UNSIGNED-Datentyp, der die vorzeichenlose 64-Bit-Ganzzahl enthält. |
BINÄR | Es konvertiert einen Wert in den Datentyp BINARY, der die Binärzeichenfolge enthält. |
Syntax
Im Folgenden ist die Syntax der CAST()-Funktion in MySQL aufgeführt:
CAST(expression AS datatype);
Parametererklärung
Diese Syntax akzeptiert zwei Parameter, die im Folgenden erläutert werden:
Parameter | Erfordernis | Beschreibungen |
---|---|---|
Ausdruck | Erforderlich | Es handelt sich um einen Wert, der in einen anderen spezifischen Datentyp konvertiert wird. |
Datentyp | Erforderlich | Es handelt sich um einen Wert oder Datentyp, in den der Ausdruckswert konvertiert werden muss. |
Rückgabewert
Nach der Konvertierung wird ein Wert zurückgegeben, in welchen Datentyp wir konvertieren möchten.
Unterstützung der MySQL-Version
Die CAST-Funktion kann die folgenden MySQL-Versionen unterstützen:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
Lassen Sie uns die MySQL CAST()-Funktion anhand der folgenden Beispiele verstehen. Wir können die CAST-Funktion direkt mit der SELECT-Anweisung verwenden.
Beispiel 1
Diese Anweisung konvertiert den Wert in den Datentyp DATE.
SELECT CAST('2018-11-30' AS DATE);
Ausgabe
Beispiel 2
Diese Anweisung konvertiert den Wert in den Datentyp SIGNED.
SELECT CAST(3-6 AS SIGNED);
Ausgabe
Beispiel 3
Diese Anweisung konvertiert den Wert in den Datentyp UNSIGNED.
SELECT CAST(3-6 AS UNSIGNED);
Ausgabe
Beispiel 4
Manchmal ist es erforderlich, die Zeichenfolge explizit in eine Ganzzahl umzuwandeln. Verwenden Sie die folgende Anweisung, um den Wert in den Datentyp INTEGER zu konvertieren.
SELECT (3 + CAST('3' AS SIGNED))/2;
Ausgabe
Beispiel 5
Die folgende Anweisung konvertiert zunächst einen ganzzahligen Wert in einen Zeichenfolgendatentyp und führt dann eine Verkettung mit einer anderen angegebenen Zeichenfolge durch.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Ausgabe
Beispiel 6
In diesem Beispiel werden wir sehen, wie die CAST-Funktion mit der Tabelle funktioniert. Lassen Sie uns zunächst eine Tabelle erstellen. Aufträge ', das die folgenden Daten enthält:
In der obigen Tabelle können wir sehen, dass Order_Date den Datentyp DATE hat. Wenn wir nun einen Produktnamen zwischen ausgewählten Zeitbereichen erhalten möchten, führen Sie die folgende Anweisung aus. Hier wird die Literalzeichenfolge vor der Auswertung der WHERE-Bedingung in einen Zeitstempelwert umgewandelt.
SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME);
Diese Anweisung erzeugt die folgende Ausgabe: