A veces, es posible que necesite convertir datos MySQL de un tipo de datos a otro. Aquí se explica cómo encasillar datos utilizando la función MySQL CAST.
Cómo escribir Cast en MySQL
Veremos cómo funciona MySQL CAST y cómo encasillar datos usando la función MySQL CAST.
Aquí está la sintaxis de la función MySQL CAST
CAST(data as data_type)
MySQL CAST requiere dos entradas:los datos a encasillar y el tipo de datos (decimal, char, etc.) al que desea convertir estos datos. Puede convertir datos en tipos de datos BINARIO, CHAR, FECHA, FECHA HORA, HORA, DECIMAL, FIRMADO, SIN FIRMAR.
Puede proporcionar datos como un valor literal como se muestra a continuación
CAST(1 as char)
O
Puede datos como un nombre de columna (por ejemplo, id)
CAST(id as char)
Lectura adicional:consulta de reversión de MySQL
Aquí hay una consulta SQL de muestra donde convertimos un int a un char en la cláusula SELECT
mysql> select cast(1 as char) from sales;
También puede usar MySQL CAST en la cláusula WHERE. Aquí convertimos cadena a int en la cláusula WHERE.
mysql> select * from sales where id=CAST('213' as int);
Lectura adicional:Cómo usar la consulta de resumen de MySQL
Ejemplos de CAST de MySQL
Veamos algunos de los ejemplos comunes de la función MySQL CAST.
MySQL CAST como Int
Aquí hay un ejemplo de MySQL cast float a entero con signo. Tenga en cuenta que solo puede convertir a tipos de datos enteros SIN FIRMAR o CON FIRMA. No puede usar INT en la función CAST.
mysql> select cast(1.23 as signed); +------------------------+ | cast(1.23 as signed) | +------------------------+ | 1 | +------------------------+
MySQL CAST como decimal
Así es como se convierte como decimal
mysql> select cast(1.23 as decimal(4,3)); +----------------------------+ | cast(1.23 as decimal(4,3)) | +----------------------------+ | 1.230 | +----------------------------+
Lectura adicional:Cómo comprobar la versión de MySQL
MySQL CAST como flotante
MySQL CAST no admite la conversión como flotante. Tienes que emitir como decimal como se muestra arriba.
mysql> select cast(2.234 as decimal(5,3)); +-----------------------------+ | cast(2.234 as decimal(5,3)) | +-----------------------------+ | 2.234 | +-----------------------------+
Transmisión de MySQL como Varchar
MySQL CAST no admite la conversión como varchar. Necesitas lanzar como char como se muestra a continuación.
mysql> select cast('xyz' as char); +---------------------+ | cast('xyz' as char) | +---------------------+ | xyz | +---------------------+
MySQL fecha y hora hasta la fecha
Aquí se explica cómo transmitir fecha y hora hasta la fecha.
mysql> select cast('2020-01-01 13:30:00' as date); +-------------------------------------+ | cast('2020-01-01 13:30:00' as date) | +-------------------------------------+ | 2020-01-01 | +-------------------------------------+
Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!