Kā pārvērst DateTime uz VarChar

Es strādāju pie vaicājuma Sql Server 2005, kur man ir nepieciešams pārvērst vērtību DateTime mainīgajā varchar mainīgajā yyyyyy-mm-dd formātā (bez laika daļas). Kā to izdarīt?

Izmēģiniet:

CONVERT(varchar(10), [MyDateTimecolumn], 20)

Lai iegūtu pilnu datuma laiku, nevis tikai datumu, veiciet:

CONVERT(varchar(23), [MyDateTimecolumn], 121)

Skatiet šo lapu par konvertēšanas stiliem:

http://msdn.microsoft.com/en-us/library/ms187928.aspx VAI SQL Server CONVERT() funkcija.

Komentāri (0)

Vai nu Cast, vai Convert:

CAST sintakse:

CAST ( expression AS data_type [ (length ) ])

CONVERT sintakse:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

http://msdn.microsoft.com/en-us/library/ms187928.aspx

Patiesībā, tā kā jūs lūdzāt konkrētu formātu:

REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Komentāri (0)

Jūs nenorādījāt, kurā datubāzē, bet, izmantojot mysql, šeit ir vienkāršs veids, kā iegūt datumu no laika zīmoga (un varchar tipa konversijai jānotiek automātiski):

mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16  | 
+-------------+
1 row in set (0.00 sec)
Komentāri (1)