logo

Función MySQL CAST()

La función CAST() en MySQL se utiliza para convertir un valor de un tipo de datos a otro tipo de datos especificado en la expresión. Se utiliza principalmente con cláusulas WHERE, HAVING y JOIN. Esta función es similar a la función CONVERT() en mysql .

Los siguientes son los tipos de datos para los que esta función funciona perfectamente:

Tipo de datos Descripciones
FECHA Convierte el valor al tipo de datos FECHA en el formato 'AAAA-MM-DD'. Admite el rango de FECHA en '1000-01-01' a '9999-12-31'.
FECHA Y HORA Convierte el valor al tipo de datos DATETIME en el formato 'AAAA-MM-DD HH:MM:SS'. Admite el rango de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'.
TIEMPO Convierte el valor al tipo de datos TIME en el formato 'HH:MM:SS'. Admite el rango de tiempo de '-838:59:59' a '838:59:59'.
CARBONIZARSE Convierte un valor al tipo de datos CHAR que contiene la cadena de longitud fija.
DECIMAL Convierte un valor al tipo de datos DECIMAL que contiene una cadena decimal.
FIRMADO Convierte un valor al tipo de datos FIRMADO que contiene el entero de 64 bits con signo.
NO FIRMADO Convierte un valor al tipo de datos UNSIGNED que contiene el entero de 64 bits sin signo.
BINARIO Convierte un valor al tipo de datos BINARIO que contiene la cadena binaria.

Sintaxis

La siguiente es la sintaxis de la función CAST() en MySQL:

 CAST(expression AS datatype); 

Explicación del parámetro

Esta sintaxis acepta dos parámetros, que se analizarán a continuación:

Parámetro Requisito Descripciones
Expresión Requerido Es un valor que se convertirá en otro tipo de datos específico.
Tipo de datos Requerido Es un valor o tipo de datos en el que es necesario convertir el valor de la expresión.

Valor de retorno

Después de la conversión, devolverá un valor en el tipo de datos que queremos convertir.

Soporte de versión MySQL

La función CAST puede admitir las siguientes versiones 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

Entendamos la función MySQL CAST() con los siguientes ejemplos. Podemos usar la función CAST con la instrucción SELECT directamente.

Ejemplo 1

Esta declaración convierte el valor en el tipo de datos FECHA.

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

Producción

Función MySQL CAST()

Ejemplo 2

Esta declaración convierte el valor al tipo de datos FIRMADO.

 SELECT CAST(3-6 AS SIGNED); 

Producción

Función MySQL CAST()

Ejemplo 3

Esta declaración convierte el valor en un tipo de datos SIN FIRMAR.

 SELECT CAST(3-6 AS UNSIGNED); 

Producción

Función MySQL CAST()

Ejemplo 4

A veces es necesario convertir la cadena en un número entero explícitamente; utilice la siguiente declaración para convertir el valor al tipo de datos INTEGER.

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

Producción

Función MySQL CAST()

Ejemplo 5

La siguiente declaración primero convierte un valor entero en un tipo de datos de cadena y luego realiza la concatenación con otra cadena especificada.

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

Producción

Función MySQL CAST()

Ejemplo 6

En este ejemplo vamos a ver cómo funciona la función CAST con la tabla. Primero creemos una tabla ' Pedidos ' que contiene los siguientes datos:

Función MySQL CAST()

En la tabla anterior, podemos ver que Order_Date está en el tipo de datos FECHA. Ahora, si queremos obtener el nombre de un producto entre rangos de tiempo seleccionados, ejecute la siguiente instrucción. Aquí, la cadena literal se convierte en un valor de marca de tiempo antes de evaluar la condición 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); 

Esta declaración producirá el siguiente resultado:

Función MySQL CAST()