Come convertire DateTime in VarChar

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

Commentari (0)

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), '.', '-')
Commentari (0)

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)
Commentari (1)