Pracuję nad zapytaniem w Sql Server 2005, gdzie muszę przekonwertować wartość w zmiennej DateTime
na zmienną varchar
w formacie yyy-mm-dd
(bez części czasowej). Jak mogę to zrobić?
Spróbuj następujących czynności:
CONVERT(varchar(10), [MyDateTimecolumn], 20)
Dla pełnej daty czas, a nie tylko data zrobić:
CONVERT(varchar(23), [MyDateTimecolumn], 121)
Zobacz tę stronę, aby zobaczyć style konwersji:
http://msdn.microsoft.com/en-us/library/ms187928.aspx LUB Funkcja SQL Server CONVERT()
Albo Cast
albo Convert
:
Składnia dla CAST
:
CAST ( expression AS data_type [ (length ) ])
Składnia dla CONVERT
:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
http://msdn.microsoft.com/en-us/library/ms187928.aspx
Właściwie skoro prosiłeś o konkretny format:
REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Nie powiedziałeś, która baza danych, ale w mysql jest prosty sposób na uzyskanie daty z timestampa (a konwersja typu varchar powinna nastąpić automatycznie):
mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16 |
+-------------+
1 row in set (0.00 sec)