Funkcija CAST() v MySQL se uporablja za pretvorbo vrednosti iz enega podatkovnega tipa v drugega podatkovnega tipa, določenega v izrazu. Večinoma se uporablja s stavki WHERE, HAVING in JOIN. Ta funkcija je podobna funkciji CONVERT() v MySQL .
Sledijo tipi podatkov, s katerimi ta funkcija deluje popolnoma:
Vrsta podatkov | Opisi |
---|---|
DATUM | Vrednost pretvori v podatkovni tip DATE v formatu 'LLLL-MM-DD'. Podpira obseg DATUMA v '1000-01-01' do '9999-12-31'. |
DATUM ČAS | Vrednost pretvori v podatkovni tip DATETIME v formatu 'LLLL-MM-DD HH:MM:SS'. Podpira obseg od '1000-01-01 00:00:00' do '9999-12-31 23:59:59'. |
ČAS | Vrednost pretvori v podatkovni tip ČAS v formatu 'HH:MM:SS'. Podpira obseg časa v '-838:59:59' do '838:59:59'. |
CHAR | Pretvori vrednost v podatkovni tip CHAR, ki vsebuje niz s fiksno dolžino. |
DECIMALNO | Pretvori vrednost v podatkovni tip DECIMAL, ki vsebuje decimalni niz. |
PODPISAN | Pretvori vrednost v podatkovni tip SIGNED, ki vsebuje podpisano 64-bitno celo število. |
NEPODPISAN | Pretvori vrednost v podatkovni tip UNSIGNED, ki vsebuje nepredznačeno 64-bitno celo število. |
BINARNA | Pretvori vrednost v podatkovni tip BINARY, ki vsebuje binarni niz. |
Sintaksa
Spodaj je sintaksa funkcije CAST() v MySQL:
CAST(expression AS datatype);
Parameter Razlaga
Ta sintaksa sprejema dva parametra, ki ju bomo obravnavali spodaj:
Parameter | Zahteva | Opisi |
---|---|---|
Izraz | Obvezno | To je vrednost, ki bo pretvorjena v drug določen tip podatkov. |
Vrsta podatkov | Obvezno | Je vrednost ali tip podatkov, v katerega je treba pretvoriti vrednost izraza. |
Povratna vrednost
Po pretvorbi bo vrnil vrednost, v kateri podatkovni tip želimo pretvoriti.
Podpora za različico MySQL
Funkcija CAST lahko podpira naslednje različice MySQL:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
Razumejmo funkcijo MySQL CAST() z naslednjimi primeri. Funkcijo CAST lahko uporabimo neposredno s stavkom SELECT.
Primer 1
Ta stavek pretvori vrednost v podatkovni tip DATE.
SELECT CAST('2018-11-30' AS DATE);
Izhod
Primer 2
Ta stavek pretvori vrednost v podatkovni tip SIGNED.
SELECT CAST(3-6 AS SIGNED);
Izhod
Primer 3
Ta stavek pretvori vrednost v podatkovni tip UNSIGNED.
SELECT CAST(3-6 AS UNSIGNED);
Izhod
Primer 4
Včasih je treba niz izrecno pretvoriti v celo število, uporabite naslednji stavek za pretvorbo vrednosti v podatkovni tip INTEGER.
SELECT (3 + CAST('3' AS SIGNED))/2;
Izhod
Primer 5
Naslednji stavek najprej pretvori celoštevilsko vrednost v podatkovni tip niza in nato izvede veriženje z drugim podanim nizom.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Izhod
Primer 6
V tem primeru si bomo ogledali, kako funkcija CAST deluje s tabelo. Najprej ustvarimo tabelo ' Naročila ', ki vsebuje naslednje podatke:
V zgornji tabeli lahko vidimo, da je Order_Date podatkovnega tipa DATE. Zdaj, če želimo pridobiti ime izdelka med izbranimi časovnimi razponi, izvedite spodnji stavek. Tukaj je dobesedni niz pretvorjen v vrednost časovnega žiga pred ovrednotenjem pogoja WHERE.
SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME);
Ta izjava bo proizvedla naslednje rezultate: