Boa noite,
Fiquei em dúvida sobre quando usar o CAST quando usar o CONVERT.
Boa noite,
Fiquei em dúvida sobre quando usar o CAST quando usar o CONVERT.
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!