1
resposta

CAST OU CONVERT

Boa noite,

Fiquei em dúvida sobre quando usar o CAST quando usar o CONVERT.

1 resposta

Olá, Maria! Tudo bom?

Pelo que sei, as duas funções fazem basicamente a mesma coisa, que é converter uma expressão em um formato de arquivo diferente. A diferença está na sintaxe e em algumas particularidades delas. O CAST tem uma sintaxe mais simples e universal, por fazer parte da especificação ANSI-SQL (não sei se é assim que fala, porque eu estava lendo um artigo em inglês falando sobre kkkk). A sua estrutura é a seguinte:

CAST (expressão AS formato_de_arquivo)

E poderia ser algo como:

CAST (SALARIO AS INT) FROM EMPREGADOS

O CONVERT já tem uma sintaxe que não é tão simples assim, não é padronizado universalmente, mas é mais versátil por ter um terceiro argumento opcional que permite estilizar como será exibido o resultado da conversão. Essa é a sua sintaxe:

CONVERT (formato_de_arquivo, expressão, estilo)

Na prática, fica algo mais ou menos assim:

CONVERT (DATE, DATA_ANIVERSARIO, 103)

Explicando esse exemplo, aqui estamos convertendo para um formato de data (DATE) um arquivo do tipo de texto (VARCHAR), usando o formato 103. Existem algumas tabelas e diversos sites também mostram quais são esses valores que são usados para converter datas, mas aqui no Brasil, normalmente usamos esse formato 103 , justamente porque a conversão é feita e é exibido no formato de data que usamos de DD/MM/AAAA.

Particularmente, vejo mais sendo usado o CONVERT onde trabalho do que CAST, mas isso por causa dessa característica de estilização que a função possui. E penso também que seja mais útil para trabalhar com datas.

Espero que tenha ficado claro a diferença entre os dois formatos, mas pode me falar aqui se precisar que eu formule a explicação de alguma outra forma ou use mais exemplos. No mais, espero que tenha ajudo, e nesse caso eu agradeceria muito se marcasse minha resposta como solução da sua dúvida! Um grande abraço e bons estudos!