Sto lavorando su una query in Sql Server 2005 dove ho bisogno di convertire un valore nella variabile DateTime
in una variabile varchar
nel formato yyyy-mm-dd
(senza parte temporale). Come posso farlo?
Provate quanto segue:
CONVERT(varchar(10), [MyDateTimecolumn], 20)
Per un orario completo e non solo la data fare:
CONVERT(varchar(23), [MyDateTimecolumn], 121)
Vedi questa pagina per convertire gli stili:
http://msdn.microsoft.com/en-us/library/ms187928.aspx O Funzione CONVERT() di SQL Server
O Cast
o Convert
:
Sintassi per CAST
:
CAST ( expression AS data_type [ (length ) ])
Sintassi per CONVERT
:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
http://msdn.microsoft.com/en-us/library/ms187928.aspx
In realtà, visto che hai chiesto un formato specifico:
REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Non hai detto quale database, ma con mysql ecco un modo semplice per ottenere una data da un timestamp (e la conversione di tipo varchar dovrebbe avvenire automaticamente):
mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16 |
+-------------+
1 row in set (0.00 sec)