Sei que isso é algo muito simples de fazer, mas na dúvida posso precisar de novo, então vou compartilhar minhas soluções.
Tive que fazer uma consulta no banco de dados, MS SQL Server, e me deparei com o formato do tipo datetime retornado:
2010-01-01 00:00:00.000
que equivale
ano-dia-mês hora:minuto:segudos.milisegundos
Mas na verdade precisava apenas de:
dia/mês/ano ou 01/01/2010
Falaram para que convertesse o valor retornado da consulta(2010-01-01 00:00:00.000) com tratamento de string dentro do meu código para o resultado esperado(01/01/2010), mas não gostei muito desta solução, então segue o minha solução:
DECLARE @myval datetime
SET @myval = '2010-01-11 00:00:00.000'
SELECT cast(day(@myval) as varchar(2))+'/'+
cast(month(@myval) as varchar(2))+'/'+
cast(year(@myval) as varchar(4))
Mas o resultado:
1/11/2010
Obs: Faltou o zero a esquerda.
Depois descobri que poderia ter feito isto de outra maneira:
DECLARE @myval datetime
SET @myval = '2010-01-11 00:00:00.000'
SELECT convert(char(10), @myval, 103)
Resultado:
01/11/2010
Observe que o 103 é o código do padrão da data, veja referência 2 para tabela de códigos.
Referências:
1 - DateFormat for SQL Server - http://www.petefreitag.com/item/687.cfm
2 - CAST and CONVERT - http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx
Nenhum comentário:
Postar um comentário