CAST
Convierte un valor al tipo de dato indicado.
MySQL 8.4
CAST(value AS type)- value
- Valor que se convierte
- type
- Tipo de dato de destino; en algunos tipos, con tamaño entre paréntesisPalabra claveBINARYCHARDATEDATETIMEDECIMALDOUBLEFLOATJSONNCHARREALSIGNEDTIMEUNSIGNEDYEAR
Valor devuelto
Valor del tipo indicado; una conversión fallida da 0 o NULL con un aviso, no un error
Ejemplos
DECIMAL con y sin decimales
MySQL 8.4
SELECT CAST(12005.6 AS DECIMAL) AS rounded,
CAST(12005.6 AS DECIMAL(10, 2)) AS with_scale;Media con dos decimales
MySQL 8.4
SELECT family_member,
CAST(AVG(unit_price) AS DECIMAL(10, 2)) AS avg_price
FROM Payments
GROUP BY family_member;Cadenas a números enteros
MySQL 8.4
SELECT CAST('12abc' AS SIGNED) AS number_prefix,
CAST('abc' AS SIGNED) AS no_number;Detalles
La lista de tipos de destino en MySQL es más corta que la de tipos de columna: para un número entero se escribe SIGNED o UNSIGNED, y CAST(1 AS INT) es un error de sintaxis. Para una cadena se usa CHAR, no VARCHAR.