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
Ejemplo 2
Esta declaración convierte el valor al tipo de datos FIRMADO.
SELECT CAST(3-6 AS SIGNED);
Producción
Ejemplo 3
Esta declaración convierte el valor en un tipo de datos SIN FIRMAR.
SELECT CAST(3-6 AS UNSIGNED);
Producción
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
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
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:
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: