- 1 1. Conceito Básico da Função CAST
- 2 2. Sintaxe e Uso da Função CAST
- 3 3. Tipos de Dados Comumente Usados e Exemplos de Conversão
- 4 4. Notas Importantes e Melhores Práticas para a Função CAST
- 5 5. Diferenças Entre a Função CAST e a Função CONVERT
- 6 6. Exemplos Práticos: Manipulação de Dados Usando a Função CAST
- 7 7. Conclusão
1. Conceito Básico da Função CAST
O Que É a Função CAST?
A função CAST do MySQL é uma função SQL usada para converter tipos de dados. Ela converte uma expressão especificada em outro tipo de dados. Ao usar a função CAST, você pode, por exemplo, converter uma string em um inteiro ou converter um tipo de data em uma string. É uma ferramenta útil que é frequentemente usada em operações de banco de dados para manter a consistência dos tipos de dados.
Principais Usos da Função CAST
A função CAST tem uma ampla gama de aplicações e é comumente usada em situações como as seguintes:
- Normalização de dados : Usada para padronizar dados armazenados em formatos diferentes. Por exemplo, ajuda a unificar formatos de data armazenados em uma tabela.
- Conversão de tipos de dados : Convertendo inteiros em strings ou vice-versa para otimizar a exibição e cálculos de dados.
SELECT CAST('2023-09-22' AS DATE);
Diferença Entre a Função CAST e Outras Conversões de Tipos de Dados
A função CAST é semelhante a outras funções de conversão do MySQL (como CONVERT), mas a diferença chave é que o CAST segue o padrão SQL e é suportado por mais sistemas de banco de dados. CONVERT é específico do MySQL e é usado principalmente para propósitos especiais, como conversão de conjunto de caracteres.
2. Sintaxe e Uso da Função CAST
Sintaxe da Função CAST
A sintaxe básica da função CAST é a seguinte:
CAST(expression AS data_type)
Nesta sintaxe, especifique o valor a ser convertido na parte da expressão e o tipo de dados alvo na parte data_type.
Exemplos de Uso da Função CAST
- Converter para um tipo inteiro : Usado ao converter uma string em um inteiro.
SELECT CAST('123' AS SIGNED);
- Converter para um tipo string : Usado ao converter um valor numérico em uma string.
SELECT CAST(123 AS CHAR);
Tratamento de Erros
Ao usar a função CAST, erros podem ocorrer se um valor inválido for fornecido para o tipo de dados alvo. Por exemplo, tentar converter 'abc' em um valor numérico resultará em um erro. Nesse casos, recomenda-se lidar com erros combinando funções como IFNULL.
3. Tipos de Dados Comumente Usados e Exemplos de Conversão
Cenários Comuns para Conversão de Tipos de Dados
Com a função CAST, é comum converter para os seguintes tipos de dados:
- Tipo INT : Converte um valor em um tipo inteiro.
- Tipo VARCHAR : Converte valores numéricos ou de data em strings.
- Tipo DATE : Converte strings ou valores numéricos em datas.
Convertendo para Tipo INT
SELECT CAST('456' AS SIGNED);
Neste exemplo, a string '456' é convertida em um tipo inteiro.
Convertendo para Tipo VARCHAR
SELECT CAST(456 AS CHAR);
Este é um exemplo de conversão de um inteiro em uma string. Essa operação é útil quando você deseja exibir dados em um formato específico.
Convertendo para Tipo DATE
SELECT CAST('2024-01-01' AS DATE);
Isso converte uma string em um tipo de data. Dessa forma, os dados são armazenados com precisão e podem ser usados posteriormente para operações de data.

4. Notas Importantes e Melhores Práticas para a Função CAST
Notas Importantes ao Usar a Função CAST
Há vários pontos importantes a considerar ao usar a função CAST:
- Compatibilidade de tipos : Conversões inválidas podem causar erros, então você deve verificar a compatibilidade de tipos com antecedência.
- Perda de precisão de dados : Especialmente ao converter números de ponto flutuante, a precisão de dados pode ser perdida.
Melhores Práticas
- Use o tipo DECIMAL : Ao converter números de ponto flutuante, use o tipo DECIMAL para prevenir perda de precisão.
SELECT CAST(123.456 AS DECIMAL(5,2));
- Tratamento de erros : Se tipos de dados inesperados forem misturados, recomenda-se lidar com erros usando instruções
IFNULLouCASE.
5. Diferenças Entre a Função CAST e a Função CONVERT
Comparação entre CAST e CONVERT
Both CAST e CONVERT são usados para converter tipos de dados, mas diferem em sintaxe e propósito.
- Função CAST: Amplamente utilizada no SQL padrão, com a sintaxe
CAST(expressão AS tipo_de_dado). - Função CONVERT: Uma função específica do MySQL com a sintaxe
CONVERT(expressão, tipo_de_dado).
Exemplo de Uso da Função CONVERT
A função CONVERT é usada principalmente para conversão de conjunto de caracteres.
SELECT CONVERT('abc' USING utf8);
Neste exemplo, o conjunto de caracteres da string é convertido.
Qual Você Deve Usar?
Em geral, recomenda‑se usar a função CAST porque segue o padrão SQL e tem amplo suporte. Contudo, quando a conversão de conjunto de caracteres for necessária, a função CONVERT é mais apropriada.
6. Exemplos Práticos: Manipulação de Dados Usando a Função CAST
Exemplos Reais de Manipulação de Dados
Aqui estão exemplos de operações reais de dados usando a função CAST.
Ordenação Após Converter Números para Strings
Por exemplo, ao converter valores numéricos em strings antes da ordenação, você pode escrever a consulta da seguinte forma:
SELECT CAST(column_name AS CHAR) FROM table ORDER BY column_name;
Filtragem Após Converter Strings para Números
Você também pode converter strings em números e filtrar com base em um intervalo específico.
SELECT * FROM table WHERE CAST(column_name AS SIGNED) > 100;
7. Conclusão
Resumo do Artigo
A função CAST é extremamente útil para converter tipos de dados de forma eficiente. Neste artigo, abordamos desde o uso básico até exemplos práticos. Ao realizar conversões de tipos, sempre preste atenção à compatibilidade de tipos e à precisão dos dados, e aproveite ao máximo a função CAST nas operações do seu banco de dados.


