DateTime'ı VarChar'a dönüştürme

Sql Server 2005'te DateTime değişkenindeki bir değeri yyyy-mm-dd biçiminde (zaman kısmı olmadan) bir varchar değişkenine dönüştürmem gereken bir sorgu üzerinde çalışıyorum. Bunu nasıl yapabilirim?

Şunları deneyin:

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

Sadece randevu için değil, tam randevu zamanı için:

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

Dönüştürme stilleri için bu sayfaya bakın:

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

Yorumlar (0)

Ya Cast ya da Convert:

CAST` için sözdizimi:

CAST ( expression AS data_type [ (length ) ])

CONVERT` için sözdizimi:

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

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

Aslında belirli bir format istediğinize göre:

REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Yorumlar (0)

Hangi veritabanı olduğunu söylemediniz, ancak mysql ile bir zaman damgasından tarih almanın kolay bir yolu var (ve varchar tipi dönüştürme otomatik olarak gerçekleşmelidir):

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