Como especialista em SQL com mais de 10 anos de experiência, posso afirmar com confiança: entender o comando CAST
em SQL é essencial para quem deseja dominar manipulação de dados com precisão.
O que é o comando CAST no SQL
Antes de tudo, o comando CAST
é utilizado para converter explicitamente um valor de um tipo de dado para outro.
Principalmente em consultas mais complexas, essa conversão é necessária para garantir que os dados sejam comparáveis, agregáveis ou apenas exibidos no formato desejado.
Por que aprender CAST é tão importante?
Em primeiro lugar, bancos de dados modernos lidam com informações em formatos diferentes: texto, números, datas, booleanos.
Ou seja, se você quer garantir resultados precisos nas consultas, precisa dominar como converter entre esses tipos.
Além disso, muitos erros comuns em SQL surgem por causa de tipos incompatíveis.
Sintaxe básica do CAST em SQL
A princípio, o comando segue a seguinte estrutura:
pgsqlCopiarEditarCAST (expressão AS tipo_de_dado)
Por exemplo:
pgsqlCopiarEditarCAST('2025-05-28' AS DATE)
CAST(123.45 AS INT)
CAST('10' AS FLOAT)
CAST SQL exemplo com números
Conversão de float para int
Bem como para facilitar cálculos ou remover casas decimais, use:
pgsqlCopiarEditarSELECT CAST(98.76 AS INT) AS valor_convertido;
Esse comando retorna:
nginxCopiarEditarvalor_convertido
98
Conversão de string para número
pgsqlCopiarEditarSELECT CAST('150' AS INT) AS numero_convertido;
Apesar disso, se o conteúdo da string não for numérico, a conversão pode falhar.
CAST SQL exemplo com datas
De string para data
Em outras palavras, quando se tem uma data como texto:
pgsqlCopiarEditarSELECT CAST('2025-12-01' AS DATE) AS data_formatada;
Isso converte uma string para o tipo de dado DATE
, facilitando comparações temporais.
De data para string
pgsqlCopiarEditarSELECT CAST(GETDATE() AS VARCHAR) AS data_texto;
Nesse sentido, você transforma a data atual em um texto legível.
Conversão entre booleanos e números
Sobretudo em bancos que suportam tipo booleano, como PostgreSQL:
pgsqlCopiarEditarSELECT CAST(TRUE AS INT) -- retorna 1
SELECT CAST(FALSE AS INT) -- retorna 0
Do mesmo modo, você pode usar CAST(1 AS BOOLEAN)
.
CAST SQL exemplo em cláusula SELECT
Juntamente com funções de agregação, o CAST
pode tornar os resultados mais legíveis:
pgsqlCopiarEditarSELECT
nome,
CAST(salario AS DECIMAL(10,2)) AS salario_formatado
FROM funcionarios;
Esse exemplo ajusta a exibição para duas casas decimais, útil em relatórios financeiros.
Usando CAST no WHERE
Filtrando com conversão
Por exemplo:
pgsqlCopiarEditarSELECT *
FROM vendas
WHERE CAST(data_venda AS DATE) = '2025-01-01';
Nesse caso, mesmo que a coluna esteja em VARCHAR
, conseguimos fazer comparações temporais.
CAST SQL exemplo com JOIN
Quando os tipos de dados não batem entre tabelas
pgsqlCopiarEditarSELECT *
FROM pedidos p
JOIN clientes c
ON CAST(p.cliente_id AS VARCHAR) = c.id_texto;
Ou seja, você resolve conflitos de tipo sem precisar alterar o schema original.
CAST com subqueries
Dentro de subconsultas
pgsqlCopiarEditarSELECT nome
FROM (
SELECT nome, CAST(pontos AS FLOAT) AS pontos_convertidos
FROM jogadores
) AS dados_convertidos
WHERE pontos_convertidos > 75.5;
Portanto, aplicar CAST permite filtrar com precisão mesmo dentro de subconsultas.
Diferença entre CAST e CONVERT
Embora ambos façam conversões, CAST
é padrão ANSI SQL, enquanto CONVERT
é específico do SQL Server.
Exemplo com CONVERT (SQL Server)
pgsqlCopiarEditarSELECT CONVERT(VARCHAR, GETDATE(), 103) AS data_brasileira;
Porém, para maior compatibilidade entre bancos, prefira sempre o uso do CAST
.
Tipos de dados mais usados com CAST
- INT
- FLOAT
- DECIMAL
- DATE
- VARCHAR
- BOOLEAN
Detalhes importantes
- Nem todas as conversões são possíveis (por exemplo,
VARCHAR('abc')
paraINT
). - Em muitos SGBDs, conversões inválidas lançam erro — por isso, sempre valide os dados antes.
CAST SQL exemplo em função de agregação
pgsqlCopiarEditarSELECT
AVG(CAST(avaliacao AS FLOAT)) AS media_avaliacao
FROM comentarios;
Desse modo, mesmo que a avaliação esteja como string, conseguimos fazer o cálculo corretamente.
CAST em instruções UPDATE
pgsqlCopiarEditarUPDATE produtos
SET preco = CAST(preco AS DECIMAL(10,2));
Essa prática melhora o controle de exibição e precisão monetária.
CAST SQL exemplo com CASE
Combinar CAST
com CASE
é extremamente útil:
pgsqlCopiarEditarSELECT nome,
CASE
WHEN idade IS NULL THEN CAST('Sem idade' AS VARCHAR)
ELSE CAST(idade AS VARCHAR)
END AS idade_exibida
FROM pessoas;
Logo, conseguimos personalizar a apresentação dos dados mesmo com inconsistências.
CAST vs TRY_CAST (SQL Server)
Evitar erros de conversão
O TRY_CAST
retorna NULL em caso de falha, evitando travamentos:
pgsqlCopiarEditarSELECT TRY_CAST('abc' AS INT) -- retorna NULL
Em suma, é mais seguro em ambientes produtivos com dados incertos.
CAST SQL exemplo com formatação monetária
pgsqlCopiarEditarSELECT
nome_produto,
CAST(preco AS MONEY) AS preco_em_dinheiro
FROM estoque;
Apesar disso, nem todos os SGBDs suportam o tipo MONEY
.
CAST em instruções INSERT
Quando os dados precisam ser forçados ao tipo certo:
pgsqlCopiarEditarINSERT INTO notas (aluno_id, nota_final)
VALUES (1, CAST('9.5' AS FLOAT));
Erros comuns ao usar CAST
- Tentar converter letras em números:
CAST('abc' AS INT)
- Ignorar casas decimais ao passar de
FLOAT
paraINT
- Confundir formatos de data (por exemplo, ’12/31/2025′ vs ’31/12/2025′)
Boas práticas com CAST no SQL
- Use
CAST
sempre que misturar tipos em joins ou comparações - Teste a consulta com poucos dados antes de rodar em larga escala
- Documente conversões críticas no seu código
Minhas Impressões Pessoais
Pessoalmente, o comando CAST
me salvou em diversas consultas onde os dados vinham em formatos inesperados. Além da flexibilidade, ele facilita muito a padronização e evita erros em joins e cálculos. É uma ferramenta indispensável no dia a dia de quem lida com SQL.
Conclusão: domínio de tipos começa com CAST
Portanto, se você está buscando escrever consultas mais confiáveis e eficientes, dominar o cast sql exemplo
é o primeiro passo.
Desse modo, você evita erros, melhora a leitura e garante compatibilidade entre diferentes fontes e sistemas.
Em suma, o CAST é como um tradutor universal dentro do SQL — e todo mundo deveria falar essa língua.

Perguntas Frequentes (FAQ)
O CAST é uma função que permite converter um valor de um tipo de dado para outro, como transformar um número em texto ou vice-versa.
Você pode usar o CAST assim: CAST(valor AS tipo), por exemplo, CAST(preco AS VARCHAR(10)) para converter um preço em texto.
Você pode usar diversos tipos, como INT, VARCHAR, DATE, FLOAT e muitos outros, dependendo do que você precisa converter.