De functie CAST() in MySQL wordt gebruikt om een waarde van het ene gegevenstype naar een ander gegevenstype te converteren dat in de expressie is opgegeven. Het wordt meestal gebruikt met WHERE-, HAVING- en JOIN-clausules. Deze functie is vergelijkbaar met de functie CONVERT() in MySQL .
Hieronder volgen de datatypes waarvoor deze functie perfect werkt:
Data type | Beschrijvingen |
---|---|
DATUM | Het converteert de waarde naar het gegevenstype DATE in het formaat 'JJJJ-MM-DD'. Het ondersteunt het bereik van DATE in '1000-01-01' tot '9999-12-31'. |
DATUM TIJD | Het converteert de waarde naar het gegevenstype DATETIME in het formaat 'JJJJ-MM-DD HH:MM:SS'. Het ondersteunt het bereik van '1000-01-01 00:00:00' tot '9999-12-31 23:59:59'. |
TIJD | Het converteert de waarde naar het gegevenstype TIME in het formaat 'UU:MM:SS'. Het ondersteunt het tijdsbereik van '-838:59:59' tot '838:59:59'. |
KAAR | Het converteert een waarde naar het CHAR-gegevenstype dat de tekenreeks met een vaste lengte bevat. |
DECIMALE | Het converteert een waarde naar het gegevenstype DECIMAL dat een decimale tekenreeks bevat. |
ONDERTEKEND | Het converteert een waarde naar het gegevenstype SIGNED dat het ondertekende 64-bits gehele getal bevat. |
NIET ONDERTEKEND | Het converteert een waarde naar het UNSIGNED-gegevenstype dat het niet-ondertekende 64-bits gehele getal bevat. |
BINAIRE | Het converteert een waarde naar het BINARY-gegevenstype dat de binaire tekenreeks bevat. |
Syntaxis
Hieronder volgt de syntaxis van de CAST()-functie in MySQL:
CAST(expression AS datatype);
Parameterverklaring
Deze syntaxis accepteert twee parameters, die hieronder worden besproken:
Parameter | Vereiste | Beschrijvingen |
---|---|---|
Uitdrukking | Vereist | Het is een waarde die wordt omgezet naar een ander specifiek datatype. |
Data type | Vereist | Het is een waarde of gegevenstype waarin de expressiewaarde moet worden geconverteerd. |
Winstwaarde
Na de conversie retourneert het een waarde in welk gegevenstype we willen converteren.
Ondersteuning voor MySQL-versie
De CAST-functie kan de volgende MySQL-versies ondersteunen:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
Laten we de MySQL CAST()-functie begrijpen met de volgende voorbeelden. We kunnen de CAST-functie rechtstreeks gebruiken met de SELECT-instructie.
voorbeeld 1
Deze instructie converteert de waarde naar het DATE-gegevenstype.
SELECT CAST('2018-11-30' AS DATE);
Uitvoer
Voorbeeld 2
Deze instructie converteert de waarde naar het gegevenstype SIGNED.
SELECT CAST(3-6 AS SIGNED);
Uitvoer
Voorbeeld 3
Deze instructie converteert de waarde naar het gegevenstype UNSIGNED.
SELECT CAST(3-6 AS UNSIGNED);
Uitvoer
Voorbeeld 4
Soms is het nodig om de string expliciet naar een geheel getal te converteren. Gebruik de volgende instructie om de waarde naar het INTEGER-datatype te converteren.
SELECT (3 + CAST('3' AS SIGNED))/2;
Uitvoer
Voorbeeld 5
De volgende instructie converteert eerst een geheel getal naar een stringgegevenstype en voert vervolgens een aaneenschakeling uit met een andere opgegeven string.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Uitvoer
Voorbeeld 6
In dit voorbeeld gaan we zien hoe de CAST-functie met de tabel werkt. Laten we eerst een tabel maken ' Bestellingen ' dat de volgende gegevens bevat:
In de bovenstaande tabel kunnen we zien dat Order_Date het gegevenstype DATE heeft. Als we nu een productnaam tussen geselecteerde tijdsbereiken willen krijgen, voer dan de onderstaande instructie uit. Hier wordt de letterlijke tekenreeks omgezet in een tijdstempelwaarde voordat de WHERE-voorwaarde wordt geëvalueerd.
SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME);
Deze verklaring levert de volgende uitvoer op: