Funkcija CAST() MySQL naudojama konvertuoti reikšmę iš vieno duomenų tipo į kitą duomenų tipą, nurodytą reiškinyje. Jis dažniausiai naudojamas su WHERE, HAVING ir JOIN sąlygomis. Ši funkcija yra panaši į CONVERT() funkciją MySQL .
Toliau pateikiami duomenų tipai, kuriems ši funkcija puikiai veikia:
Duomenų tipas | Aprašymai |
---|---|
DATA | Jis konvertuoja reikšmę į DATE duomenų tipą formatu „YYYY-MM-DD“. Jis palaiko DATE diapazoną nuo „1000-01-01“ iki „9999-12-31“. |
DATETIME | Jis konvertuoja reikšmę į DATETIME duomenų tipą formatu „MMMM-MM-DD HH:MM:SS“. Jis palaiko diapazoną nuo „1000-01-01 00:00:00“ iki „9999-12-31 23:59:59“. |
LAIKAS | Jis konvertuoja reikšmę į TIME duomenų tipą formatu „HH:MM:SS“. Jis palaiko laiko intervalą nuo „-838:59:59“ iki „838:59:59“. |
CHAR | Jis konvertuoja reikšmę į CHAR duomenų tipą, kuriame yra fiksuoto ilgio eilutė. |
DESIMTAINĖ | Jis konvertuoja reikšmę į DECIMAL duomenų tipą, kuriame yra dešimtainė eilutė. |
PASIRAŠYTA | Jis konvertuoja reikšmę į SIGNED duomenų tipą, kuriame yra pasirašytas 64 bitų sveikasis skaičius. |
NEPASIRAŠYTA | Jis konvertuoja reikšmę į duomenų tipą UNSIIGNED, kuriame yra nepasirašytas 64 bitų sveikasis skaičius. |
DVEJESNIS | Jis konvertuoja reikšmę į DVEJESNIŲJŲ duomenų tipą, kuriame yra dvejetainė eilutė. |
Sintaksė
Toliau pateikiama MySQL funkcijos CAST() sintaksė:
CAST(expression AS datatype);
Parametrų paaiškinimas
Ši sintaksė priima du parametrus, kurie bus aptarti toliau:
Parametras | Reikalavimas | Aprašymai |
---|---|---|
Išraiška | Reikalingas | Tai vertė, kuri bus konvertuojama į kitą konkretų duomenų tipą. |
Duomenų tipas | Reikalingas | Tai reikšmė arba duomenų tipas, kurio išraiškos reikšmę reikia konvertuoti. |
Grąžinimo vertė
Po konvertavimo jis pateiks reikšmę, kurio duomenų tipą norime konvertuoti.
MySQL versijos palaikymas
Funkcija CAST gali palaikyti šias MySQL versijas:
- MySQL 8.0
- MySQL 5.7
- MySQL 5.6
- MySQL 5.5
- MySQL 5.1
- MySQL 5.0
- MySQL 4.1
- MySQL 4.0
Supraskime MySQL CAST() funkciją su šiais pavyzdžiais. Funkciją CAST galime naudoti tiesiogiai su SELECT teiginiu.
1 pavyzdys
Šis teiginys konvertuoja reikšmę į DATE duomenų tipą.
SELECT CAST('2018-11-30' AS DATE);
Išvestis
2 pavyzdys
Šis teiginys konvertuoja reikšmę į SIGNED duomenų tipą.
SELECT CAST(3-6 AS SIGNED);
Išvestis
3 pavyzdys
Šis teiginys konvertuoja reikšmę į NESIGNED duomenų tipą.
SELECT CAST(3-6 AS UNSIGNED);
Išvestis
4 pavyzdys
Kartais reikia aiškiai konvertuoti eilutę į sveikąjį skaičių. Norėdami konvertuoti reikšmę į INTEGER duomenų tipą, naudokite šį teiginį.
SELECT (3 + CAST('3' AS SIGNED))/2;
Išvestis
5 pavyzdys
Šis teiginys pirmiausia konvertuoja sveikojo skaičiaus reikšmę į eilutės duomenų tipą, o tada atlieka sujungimą su kita nurodyta eilute.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Išvestis
6 pavyzdys
Šiame pavyzdyje pamatysime, kaip CAST funkcija veikia su lentele. Pirmiausia sukurkime lentelę Užsakymai “, kuriame yra šie duomenys:
Aukščiau pateiktoje lentelėje matome, kad užsakymo_data yra DATE duomenų tipu. Dabar, jei norime gauti produkto pavadinimą tarp pasirinktų laiko intervalų, vykdykite toliau pateiktą teiginį. Čia pažodinė eilutė konvertuojama į laiko žymos vertę prieš įvertinant WHERE sąlygą.
SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME);
Šis teiginys duos tokią išvestį: