Работя върху заявка в Sql Server 2005, в която трябва да конвертирам стойност в променливата DateTime
в променлива varchar
във формат yyyy-mm-dd
(без частта за време). Как да направя това?
Опитайте следното:
CONVERT(varchar(10), [MyDateTimecolumn], 20)
За пълен час на датата, а не само за дата, направете:
CONVERT(varchar(23), [MyDateTimecolumn], 121)
Вижте тази страница за конвертиране на стилове:
http://msdn.microsoft.com/en-us/library/ms187928.aspx ИЛИ SQL Server CONVERT() Function
Или Cast
, или Convert
:
Синтаксис за CAST
:
CAST ( expression AS data_type [ (length ) ])
Синтаксис за CONVERT
:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
http://msdn.microsoft.com/en-us/library/ms187928.aspx
Всъщност, тъй като сте поискали конкретен формат:
REPLACE(CONVERT(varchar(10), Date, 102), '.', '-')
Не сте посочили коя база данни, но в mysql има лесен начин за получаване на дата от времеви печат (и преобразуването на типа varchar трябва да стане автоматично):
mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16 |
+-------------+
1 row in set (0.00 sec)