logo

Funció MySQL CAST().

La funció CAST() a MySQL s'utilitza per convertir un valor d'un tipus de dades a un altre tipus de dades especificat a l'expressió. S'utilitza principalment amb les clàusules WHERE, HAVING i JOIN. Aquesta funció és similar a la funció CONVERT() a MySQL .

Els següents són els tipus de dades amb els quals funciona perfectament aquesta funció:

Tipus de dades Descripcions
DATA Converteix el valor al tipus de dades DATE en el format 'AAAA-MM-DD'. Admet l'interval de DATE de '1000-01-01' a '9999-12-31'.
DATA I HORA Converteix el valor al tipus de dades DATETIME en el format 'AAAA-MM-DD HH:MM:SS'. Admet el rang de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'.
TEMPS Converteix el valor al tipus de dades TIME en el format 'HH:MM:SS'. Admet el rang de temps entre '-838:59:59' i '838:59:59'.
CHAR Converteix un valor al tipus de dades CHAR que conté la cadena de longitud fixa.
DECIMAL Converteix un valor al tipus de dades DECIMAL que conté una cadena decimal.
SIGNAT Converteix un valor a un tipus de dades SIGNED que conté l'enter signat de 64 bits.
SENS SIGNAT Converteix un valor al tipus de dades UNSIGNED que conté l'enter sense signar de 64 bits.
BINARI Converteix un valor al tipus de dades BINARY que conté la cadena binària.

Sintaxi

Les següents són la sintaxi de la funció CAST() a MySQL:

 CAST(expression AS datatype); 

Explicació del paràmetre

Aquesta sintaxi accepta dos paràmetres, que es comentaran a continuació:

Paràmetre Requisit Descripcions
Expressió Obligatori És un valor que es convertirà en un altre tipus de dades específic.
Tipus de dades Obligatori És un valor o tipus de dades en què s'ha de convertir el valor de l'expressió.

Valor de retorn

Després de la conversió, retornarà un valor en quin tipus de dades volem convertir.

Suport a la versió MySQL

La funció CAST pot suportar les següents versions de 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

Entenem la funció MySQL CAST() amb els exemples següents. Podem utilitzar la funció CAST amb la instrucció SELECT directament.

Exemple 1

Aquesta instrucció converteix el valor al tipus de dades DATE.

 SELECT CAST('2018-11-30' AS DATE); 

Sortida

Funció MySQL CAST().

Exemple 2

Aquesta declaració converteix el valor al tipus de dades SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Sortida

Funció MySQL CAST().

Exemple 3

Aquesta instrucció converteix el valor en un tipus de dades UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Sortida

Funció MySQL CAST().

Exemple 4

De vegades és necessari convertir la cadena en un nombre enter de manera explícita, utilitzeu la següent instrucció per convertir el valor en un tipus de dades INTEGER.

 SELECT (3 + CAST('3' AS SIGNED))/2; 

Sortida

Funció MySQL CAST().

Exemple 5

La instrucció següent converteix primer un valor enter en un tipus de dades de cadena i després realitza la concatenació amb una altra cadena especificada.

 SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR)); 

Sortida

Funció MySQL CAST().

Exemple 6

En aquest exemple, veurem com funciona la funció CAST amb la taula. Creem primer una taula' Comandes ' que conté les dades següents:

Funció MySQL CAST().

A la taula anterior, podem veure que Order_Date es troba al tipus de dades DATE. Ara, si volem obtenir un nom de producte entre intervals de temps seleccionats, executeu la instrucció següent. Aquí, la cadena literal es converteix en valor de marca de temps abans d'avaluar la condició ON.

 SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME); 

Aquesta declaració produirà la següent sortida:

Funció MySQL CAST().