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🙂

 

No comments yet

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: