logo

Função CAST() do MySQL

A função CAST() no MySQL é usada para converter um valor de um tipo de dados para outro tipo de dados especificado na expressão. É usado principalmente com cláusulas WHERE, HAVING e JOIN. Esta função é semelhante à função CONVERT() em MySQL .

A seguir estão os tipos de dados para os quais esta função funciona perfeitamente:

Tipo de dados Descrições
DATA Ele converte o valor em tipo de dados DATE no formato 'AAAA-MM-DD'. Ele suporta o intervalo de DATE em '1000-01-01' a '9999-12-31'.
DATA HORA Ele converte o valor no tipo de dados DATETIME no formato 'AAAA-MM-DD HH:MM:SS'. Ele suporta o intervalo de '1000-01-01 00:00:00' a '9999-12-31 23:59:59'.
TEMPO Ele converte o valor no tipo de dados TIME no formato 'HH:MM:SS'. Ele suporta o intervalo de tempo de '-838:59:59' a '838:59:59'.
CARACTERES Ele converte um valor no tipo de dados CHAR que contém a sequência de comprimento fixo.
DECIMAL Ele converte um valor no tipo de dados DECIMAL que contém uma sequência decimal.
ASSINADO Ele converte um valor no tipo de dados SIGNED que contém o inteiro assinado de 64 bits.
NÃO ASSINADO Ele converte um valor no tipo de dados UNSIGNED que contém o inteiro não assinado de 64 bits.
BINÁRIO Ele converte um valor no tipo de dados BINARY que contém a sequência binária.

Sintaxe

A seguir está a sintaxe da função CAST() no MySQL:

 CAST(expression AS datatype); 

Explicação do parâmetro

Esta sintaxe aceita dois parâmetros, que serão discutidos a seguir:

Parâmetro Requerimento Descrições
Expressão Obrigatório É um valor que será convertido em outro tipo de dados específico.
Tipo de dados Obrigatório É um valor ou tipo de dados no qual o valor da expressão precisa ser convertido.

Valor de retorno

Após a conversão, ele retornará um valor no tipo de dados que queremos converter.

Suporte à versão MySQL

A função CAST pode suportar as seguintes versões do 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

Vamos entender a função MySQL CAST() com os exemplos a seguir. Podemos usar a função CAST diretamente com a instrução SELECT.

Exemplo 1

Esta instrução converte o valor no tipo de dados DATE.

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

Saída

Função CAST() do MySQL

Exemplo 2

Esta instrução converte o valor no tipo de dados SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Saída

Função CAST() do MySQL

Exemplo 3

Esta instrução converte o valor em tipo de dados UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Saída

Função CAST() do MySQL

Exemplo 4

Às vezes, é necessário converter explicitamente a string em um número inteiro. Use a seguinte instrução para converter o valor no tipo de dados INTEGER.

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

Saída

Função CAST() do MySQL

Exemplo 5

A instrução a seguir primeiro converte um valor inteiro em um tipo de dados string e, em seguida, executa a concatenação com outra string especificada.

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

Saída

Função CAST() do MySQL

Exemplo 6

Neste exemplo, veremos como funciona a função CAST com a tabela. Vamos primeiro criar uma tabela ' Pedidos 'que contém os seguintes dados:

Função CAST() do MySQL

Na tabela acima, podemos ver que Order_Date está no tipo de dados DATE. Agora, se quisermos obter um nome de produto entre intervalos de tempo selecionados, execute a instrução abaixo. Aqui, a string literal é convertida em valor de carimbo de data/hora antes de avaliar a condição 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 instrução produzirá a seguinte saída:

Função CAST() do MySQL