Funkcija CAST() MySQL tiek izmantota, lai pārvērstu vērtību no viena datu tipa uz citu izteiksmē norādīto datu tipu. To galvenokārt izmanto ar WHERE, HAVING un JOIN klauzulām. Šī funkcija ir līdzīga funkcijai CONVERT() in MySQL .
Tālāk ir norādīti datu tipi, kuriem šī funkcija darbojas nevainojami.
Datu tips | Apraksti |
---|---|
DATUMS | Tas pārvērš vērtību DATE datu tipā formātā “GGGG-MM-DD”. Tas atbalsta diapazonu DATE no “1000-01-01” līdz “9999-12-31”. |
DATUMS LAIKS | Tas pārvērš vērtību datu tipā DATETIME formātā “GGGG-MM-DD HH:MM:SS”. Tas atbalsta diapazonu no “1000-01-01 00:00:00” līdz “9999-12-31 23:59:59”. |
LAIKS | Tas pārvērš vērtību TIME datu tipā formātā “HH:MM:SS”. Tas atbalsta laika diapazonu no “-838:59:59” līdz “838:59:59”. |
CHAR | Tas pārvērš vērtību CHAR datu tipā, kas satur fiksēta garuma virkni. |
DECIMĀLĀ | Tas pārvērš vērtību par datu tipu DECIMAL, kas satur decimāldaļu virkni. |
PARAKSTS | Tas pārvērš vērtību par SIGNED datu tipu, kas satur 64 bitu veselu skaitli ar parakstu. |
NEPARAKSTĪTS | Tas pārvērš vērtību par datu tipu NEPARAKSTS, kas satur neparakstītu 64 bitu veselu skaitli. |
BINĀRS | Tas pārvērš vērtību BINĀRO datu tipā, kas satur bināro virkni. |
Sintakse
Tālāk ir norādīta MySQL funkcijas CAST() sintakse:
CAST(expression AS datatype);
Parametra skaidrojums
Šī sintakse pieņem divus parametrus, kas tiks apspriesti tālāk:
Parametrs | Prasība | Apraksti |
---|---|---|
Izteiksme | Obligāti | Tā ir vērtība, kas tiks pārveidota par citu konkrētu datu tipu. |
Datu tips | Obligāti | Tā ir vērtība vai datu tips, kurā izteiksmes vērtība ir jākonvertē. |
Atdeves vērtība
Pēc konvertēšanas tas atgriezīs vērtību, kurā datu tipā mēs vēlamies konvertēt.
MySQL versijas atbalsts
Funkcija CAST var atbalstīt šādas 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
Ļaujiet mums saprast MySQL CAST() funkciju ar šādiem piemēriem. Mēs varam tieši izmantot CAST funkciju ar SELECT priekšrakstu.
1. piemērs
Šis paziņojums pārvērš vērtību DATE datu tipā.
SELECT CAST('2018-11-30' AS DATE);
Izvade
2. piemērs
Šis paziņojums pārvērš vērtību SIGNED datu tipā.
SELECT CAST(3-6 AS SIGNED);
Izvade
3. piemērs
Šis paziņojums pārvērš vērtību datu tipā NEPArakstīts.
SELECT CAST(3-6 AS UNSIGNED);
Izvade
4. piemērs
Dažreiz ir nepieciešams nepārprotami pārvērst virkni veselā skaitlī. Izmantojiet šo paziņojumu, lai pārvērstu vērtību INTEGER datu tipā.
SELECT (3 + CAST('3' AS SIGNED))/2;
Izvade
5. piemērs
Šis paziņojums vispirms pārvērš vesela skaitļa vērtību virknes datu tipā un pēc tam veic savienošanu ar citu norādīto virkni.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Izvade
6. piemērs
Šajā piemērā mēs redzēsim, kā funkcija CAST darbojas ar tabulu. Vispirms izveidosim tabulu Pasūtījumi ', kas satur šādus datus:
Iepriekš redzamajā tabulā redzams, ka pasūtījuma_datums ir datu tipā DATE. Tagad, ja mēs vēlamies iegūt produkta nosaukumu starp atlasītajiem laika diapazoniem, izpildiet tālāk norādīto paziņojumu. Šeit burtiskā virkne tika pārveidota par laikspiedola vērtību pirms nosacījuma WHERE novērtēšanas.
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 paziņojums radīs šādu rezultātu: