CAST()-funksjonen i MySQL brukes til å konvertere en verdi fra én datatype til en annen datatype spesifisert i uttrykket. Det brukes mest med WHERE, HAVING og JOIN-klausuler. Denne funksjonen ligner på CONVERT()-funksjonen i MySQL .
Følgende er datatypene som denne funksjonen fungerer perfekt til:
Data-type | Beskrivelser |
---|---|
DATO | Den konverterer verdien til DATE-datatype i formatet 'ÅÅÅÅ-MM-DD'. Den støtter området DATE i '1000-01-01' til '9999-12-31'. |
DATO TID | Den konverterer verdien til datatypen DATETIME i formatet 'ÅÅÅÅ-MM-DD TT:MM:SS'. Den støtter området fra '1000-01-01 00:00:00' til '9999-12-31 23:59:59'. |
TID | Den konverterer verdien til TIME-datatypen i 'TT:MM:SS'-formatet. Den støtter tidsintervallet '-838:59:59' til '838:59:59'. |
CHAR | Den konverterer en verdi til CHAR-datatypen som inneholder strengen med fast lengde. |
DESIMAL | Den konverterer en verdi til DESIMAL-datatypen som inneholder en desimalstreng. |
SIGNERT | Den konverterer en verdi til SIGNED datatype som inneholder det signerte 64-bits heltall. |
USIGNERT | Den konverterer en verdi til UNSIGNED-datatypen som inneholder det usignerte 64-bits heltall. |
BINÆR | Den konverterer en verdi til BINÆR datatypen som inneholder den binære strengen. |
Syntaks
Følgende er syntaksen til CAST()-funksjonen i MySQL:
CAST(expression AS datatype);
Parameter Forklaring
Denne syntaksen aksepterer to parametere, som vil bli diskutert nedenfor:
Parameter | Krav | Beskrivelser |
---|---|---|
Uttrykk | Obligatorisk | Det er en verdi som vil bli konvertert til en annen spesifikk datatype. |
Data-type | Obligatorisk | Det er en verdi eller datatype der uttrykksverdien må konverteres. |
Returverdi
Etter konvertering vil den returnere en verdi i hvilken datatype vi ønsker å konvertere.
Støtte for MySQL-versjon
CAST-funksjonen kan støtte følgende MySQL-versjoner:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
La oss forstå MySQL CAST()-funksjonen med følgende eksempler. Vi kan bruke CAST-funksjonen med SELECT-setningen direkte.
Eksempel 1
Denne setningen konverterer verdien til datatypen DATE.
SELECT CAST('2018-11-30' AS DATE);
Produksjon
Eksempel 2
Denne setningen konverterer verdien til SIGNED datatype.
SELECT CAST(3-6 AS SIGNED);
Produksjon
Eksempel 3
Denne setningen konverterer verdien til UNSIGNED datatype.
SELECT CAST(3-6 AS UNSIGNED);
Produksjon
Eksempel 4
Noen ganger er det behov for å konvertere strengen til et heltall eksplisitt, bruk følgende setning for å konvertere verdien til INTEGER datatype.
SELECT (3 + CAST('3' AS SIGNED))/2;
Produksjon
Eksempel 5
Følgende setning konverterer først en heltallsverdi til strengdatatype og utfører deretter sammenkobling med en annen spesifisert streng.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Produksjon
Eksempel 6
I dette eksemplet skal vi se hvordan CAST-funksjonen fungerer med tabellen. La oss først lage en tabell ' Bestillinger ' som inneholder følgende data:
I tabellen ovenfor kan vi se at Order_Date er i datatypen DATE. Nå, hvis vi ønsker å få et produktnavn mellom utvalgte tidsintervaller, utfør setningen nedenfor. Her er den bokstavelige strengen konvertert til tidsstempelverdi før evaluering av WHERE-betingelsen.
SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME);
Denne uttalelsen vil produsere følgende utgang: