Às vezes você pode precisar converter dados MySQL de um tipo de dados para outro. Veja como fazer typecast de dados usando a função MySQL CAST.
Como digitar Cast no MySQL
Veremos como o MySQL CAST funciona e como digitar dados usando a função MySQL CAST.
Aqui está a sintaxe da função MySQL CAST
CAST(data as data_type)
O MySQL CAST requer duas entradas – os dados a serem tipificados e o tipo de dados (decimal, char, etc) para o qual você deseja converter esses dados. Você pode converter dados em tipos de dados BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED.
Você pode fornecer dados como um valor literal, conforme mostrado abaixo
CAST(1 as char)
OU
Você pode dados como um nome de coluna (por exemplo, id)
CAST(id as char)
Bônus de leitura:consulta de reversão do MySQL
Aqui está um exemplo de consulta SQL em que convertemos um int em um char na cláusula SELECT
mysql> select cast(1 as char) from sales;
Você também pode usar MySQL CAST na cláusula WHERE. Aqui nós convertemos string para int na cláusula WHERE.
mysql> select * from sales where id=CAST('213' as int);
Bônus de leitura:Como usar o MySQL Rollup Query
Exemplos do MySQL CAST
Vejamos alguns dos exemplos comuns da função MySQL CAST.
MySQL CAST as Int
Aqui está um exemplo para o MySQL converter float para inteiro assinado. Observe que você só pode converter para tipos de dados inteiros UNSIGNED ou SIGNED. Você não pode usar INT na função CAST.
mysql> select cast(1.23 as signed); +------------------------+ | cast(1.23 as signed) | +------------------------+ | 1 | +------------------------+
MySQL CAST como Decimal
Veja como converter como decimal
mysql> select cast(1.23 as decimal(4,3)); +----------------------------+ | cast(1.23 as decimal(4,3)) | +----------------------------+ | 1.230 | +----------------------------+
Bônus de leitura:Como verificar a versão do MySQL
MySQL CAST como flutuante
MySQL CAST não suporta conversão como float. Você tem que converter como decimal como mostrado acima.
mysql> select cast(2.234 as decimal(5,3)); +-----------------------------+ | cast(2.234 as decimal(5,3)) | +-----------------------------+ | 2.234 | +-----------------------------+
MySQL convertido como Varchar
MySQL CAST não suporta conversão como varchar. Você precisa converter como char como mostrado abaixo.
mysql> select cast('xyz' as char); +---------------------+ | cast('xyz' as char) | +---------------------+ | xyz | +---------------------+
MySQL Datetime to Date
Veja como converter datetime para date.
mysql> select cast('2020-01-01 13:30:00' as date); +-------------------------------------+ | cast('2020-01-01 13:30:00' as date) | +-------------------------------------+ | 2020-01-01 | +-------------------------------------+
O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!