CAST()-funktionen i MySQL bruges til at konvertere en værdi fra én datatype til en anden datatype angivet i udtrykket. Det bruges mest med WHERE, HAVING og JOIN-klausuler. Denne funktion ligner funktionen CONVERT() i MySQL .
Følgende er de datatyper, som denne funktion fungerer perfekt til:
Datatype | Beskrivelser |
---|---|
DATO | Den konverterer værdien til DATE-datatypen i formatet 'ÅÅÅÅ-MM-DD'. Det understøtter intervallet DATE i '1000-01-01' til '9999-12-31'. |
DATO TID | Den konverterer værdien til datatypen DATETIME i formatet 'ÅÅÅÅ-MM-DD TT:MM:SS'. Den understøtter intervallet '1000-01-01 00:00:00' til '9999-12-31 23:59:59'. |
TID | Den konverterer værdien til TIME-datatypen i formatet 'TT:MM:SS'. Den understøtter tidsintervallet '-838:59:59' til '838:59:59'. |
CHAR | Den konverterer en værdi til CHAR-datatypen, der indeholder strengen med fast længde. |
DECIMAL | Den konverterer en værdi til datatypen DECIMAL, der indeholder en decimalstreng. |
UNDERSKREVET | Den konverterer en værdi til SIGNED datatype, der indeholder det fortegnede 64-bit heltal. |
USIGNERT | Det konverterer en værdi til datatypen UNSIGNED, der indeholder det usignerede 64-bit heltal. |
BINÆR | Den konverterer en værdi til den BINÆRE datatype, der indeholder den binære streng. |
Syntaks
Følgende er syntaksen for CAST()-funktionen i MySQL:
CAST(expression AS datatype);
Parameterforklaring
Denne syntaks accepterer to parametre, som vil blive diskuteret nedenfor:
Parameter | Krav | Beskrivelser |
---|---|---|
Udtryk | Påkrævet | Det er en værdi, der vil blive konverteret til en anden specifik datatype. |
Datatype | Påkrævet | Det er en værdi eller datatype, hvori udtryksværdien skal konverteres. |
Returværdi
Efter konvertering returnerer den en værdi i hvilken datatype vi ønsker at konvertere.
Understøttelse af MySQL-version
CAST-funktionen kan understøtte følgende MySQL-versioner:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
Lad os forstå MySQL CAST()-funktionen med følgende eksempler. Vi kan bruge CAST-funktionen med SELECT-sætningen direkte.
Eksempel 1
Denne sætning konverterer værdien til DATE-datatype.
SELECT CAST('2018-11-30' AS DATE);
Produktion
Eksempel 2
Denne sætning konverterer værdien til SIGNED datatype.
SELECT CAST(3-6 AS SIGNED);
Produktion
Eksempel 3
Denne sætning konverterer værdien til UNSIGNED datatype.
SELECT CAST(3-6 AS UNSIGNED);
Produktion
Eksempel 4
Nogle gange er der behov for eksplicit at konvertere strengen til et heltal, brug følgende sætning til at konvertere værdien til INTEGER datatype.
SELECT (3 + CAST('3' AS SIGNED))/2;
Produktion
Eksempel 5
Følgende sætning konverterer først en heltalsværdi til strengdatatype og udfører derefter sammenkædning med en anden specificeret streng.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Produktion
Eksempel 6
I dette eksempel skal vi se, hvordan CAST-funktionen fungerer med tabellen. Lad os først oprette en tabel ' Ordre:% s ', der indeholder følgende data:
I ovenstående tabel kan vi se, at Order_Date er i datatypen DATE. Nu, hvis vi ønsker at få et produktnavn mellem udvalgte tidsintervaller, skal du udføre sætningen nedenfor. Her konverteres den bogstavelige streng til tidsstempelværdi, før WHERE-betingelsen evalueres.
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 erklæring vil producere følgende output: