logo

MySQL CAST()-functie

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

MySQL CAST()-functie

Voorbeeld 2

Deze instructie converteert de waarde naar het gegevenstype SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Uitvoer

MySQL CAST()-functie

Voorbeeld 3

Deze instructie converteert de waarde naar het gegevenstype UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Uitvoer

MySQL CAST()-functie

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

MySQL CAST()-functie

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

MySQL CAST()-functie

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:

MySQL CAST()-functie

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:

MySQL CAST()-functie