logo

MySQL CAST() funkcija

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

MySQL CAST() funkcija

2 pavyzdys

Šis teiginys konvertuoja reikšmę į SIGNED duomenų tipą.

 SELECT CAST(3-6 AS SIGNED); 

Išvestis

MySQL CAST() funkcija

3 pavyzdys

Šis teiginys konvertuoja reikšmę į NESIGNED duomenų tipą.

 SELECT CAST(3-6 AS UNSIGNED); 

Išvestis

MySQL CAST() funkcija

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

MySQL CAST() funkcija

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

MySQL CAST() funkcija

6 pavyzdys

Šiame pavyzdyje pamatysime, kaip CAST funkcija veikia su lentele. Pirmiausia sukurkime lentelę Užsakymai “, kuriame yra šie duomenys:

MySQL CAST() funkcija

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į:

MySQL CAST() funkcija