Funcția CAST() din MySQL este folosită pentru a converti o valoare dintr-un tip de date în alt tip de date specificat în expresie. Este folosit mai ales cu clauzele WHERE, HAVING și JOIN. Această funcție este similară cu funcția CONVERT() în MySQL .
Următoarele sunt tipurile de date la care această funcție funcționează perfect:
Tip de date | Descrieri |
---|---|
DATA | Convertește valoarea în tipul de date DATE în formatul „AAAA-LL-ZZ”. Acceptă intervalul DATE din „1000-01-01” până la „9999-12-31”. |
DATETIME | Convertește valoarea în tipul de date DATETIME în formatul „AAAA-LL-ZZ HH:MM:SS”. Acceptă intervalul de la „1000-01-01 00:00:00” la „9999-12-31 23:59:59”. |
TIMP | Acesta convertește valoarea în tipul de date TIME în formatul „HH:MM:SS”. Acceptă intervalul de timp de la „-838:59:59” la „838:59:59”. |
CHAR | Convertește o valoare în tipul de date CHAR care conține șirul de lungime fixă. |
ZECIMAL | Convertește o valoare în tipul de date DECIMAL care conține un șir zecimal. |
SEMNAT | Convertește o valoare în tipul de date SIGNED care conține întregul semnat pe 64 de biți. |
NESEMNAT | Convertește o valoare în tipul de date UNSIGNED care conține întregul nesemnat pe 64 de biți. |
BINAR | Convertește o valoare în tipul de date BINARY care conține șirul binar. |
Sintaxă
Următoarele sunt sintaxa funcției CAST() în MySQL:
CAST(expression AS datatype);
Explicația parametrului
Această sintaxă acceptă doi parametri, care vor fi discutați mai jos:
Parametru | Cerinţă | Descrieri |
---|---|---|
Expresie | Necesar | Este o valoare care va fi convertită într-un alt tip de date specific. |
Tip de date | Necesar | Este o valoare sau un tip de date în care valoarea expresiei trebuie convertită. |
Valoare returnată
După conversie, va returna o valoare în ce tip de date dorim să convertim.
Suport pentru versiunea MySQL
Funcția CAST poate suporta următoarele versiuni 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
Să înțelegem funcția MySQL CAST() cu următoarele exemple. Putem folosi funcția CAST cu instrucțiunea SELECT direct.
Exemplul 1
Această instrucțiune convertește valoarea în tipul de date DATE.
SELECT CAST('2018-11-30' AS DATE);
Ieșire
Exemplul 2
Această instrucțiune convertește valoarea în tipul de date SIGNED.
SELECT CAST(3-6 AS SIGNED);
Ieșire
Exemplul 3
Această instrucțiune convertește valoarea în tipul de date UNSIGNED.
SELECT CAST(3-6 AS UNSIGNED);
Ieșire
Exemplul 4
Uneori este nevoie de a converti șirul într-un număr întreg în mod explicit, utilizați următoarea instrucțiune pentru a converti valoarea în tipul de date INTEGER.
SELECT (3 + CAST('3' AS SIGNED))/2;
Ieșire
Exemplul 5
Următoarea instrucțiune convertește mai întâi o valoare întreagă în tip de date șir și apoi efectuează concatenarea cu un alt șir specificat.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Ieșire
Exemplul 6
În acest exemplu, vom vedea cum funcționează funcția CAST cu tabelul. Să creăm mai întâi un tabel ' Comenzi ' care conține următoarele date:
În tabelul de mai sus, putem vedea că Order_Date este în tipul de date DATE. Acum, dacă vrem să obținem un nume de produs între intervalele de timp selectate, executați instrucțiunea de mai jos. Aici, șirul literal convertit în valoare de marcaj de timp înainte de a evalua condiția 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);
Această declarație va produce următorul rezultat: