Eu estou trabalhando em uma consulta no Sql Server 2005 onde eu preciso converter um valor em variável DateTime' em uma variável
varchar' em formato `yyyyy-mm-dd' (sem parte de tempo). Como eu faço isso?
Tente o seguinte:
CONVERT(varchar(10), [MyDateTimecolumn], 20)
Para um encontro a tempo inteiro e não apenas para um encontro:
CONVERT(varchar(23), [MyDateTimecolumn], 121)
Veja esta página para converter estilos:
http://msdn.microsoft.com/en-us/library/ms187928.aspx OU Função SQL Server CONVERT()
Ou Cast
ou Convert
:
Sintaxe para 'CAST':
CAST ( expression AS data_type [ (length ) ])
Sintaxe para CONVERT
:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
http://msdn.microsoft.com/en-us/library/ms187928.aspx
Na verdade, desde que você pediu um formato específico:
REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Você não disse qual banco de dados, mas com o mysql aqui é uma maneira fácil de obter uma data de um carimbo da hora (e a conversão do tipo varchar deve acontecer automaticamente):
mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16 |
+-------------+
1 row in set (0.00 sec)