Convertendo dados – CAST ou CONVERT?
Já ouvi diversas pessoas perguntarem a diferença entre o CAST e CONVERT, e às vezes coisas comuns passam despercebidas. A idéia é a mesma: as duas funções permitem converter um tipo de dado em outro, no entanto a função CAST é padrão ANSI, então teoricamente ela pode ser usada em qualquer SGBD; já a função CONVERT é uma função T-SQL, ou seja, específica do Microsoft SQL Server. Além desta diferença, a função CONVERT tem um opcional que permite a conversão do dado e a possibilidade de formatar o resultado, é o que chamamos de estilo, e isso é muito útil quando você trabalha com datatypes datetime e money/float.
Então, por exemplo, se você quiser converter uma data e deixá-la no formato dd/mm/aaaa deve usar o CONVERT:
select CONVERT(varchar(60), current_timestamp, 103)
No exemplo acima estamos pegando a data atual e convertendo para VARCHAR e formatando a data como dd/mm/aaaa. A formatação neste caso está utilizando o estilo 103.
Uma tabela completa com os estilos disponíves pode ser acessada neste link: http://msdn.microsoft.com/en-us/library/ms187928.aspx
Bom trabalho
Não ha comentários
Leave a reply