С Microsoft Sql Server:
--
-- Create test case
--
DECLARE @myDateTime DATETIME
SET @myDateTime = '2008-05-03'
--
-- Convert string
--
SELECT LEFT(CONVERT(VARCHAR, @myDateTime, 120), 10)
Вы не говорите, какой язык, но я принимаю C#/.NET
, потому что он имеет собственный компонент DateTime
тип данных. В этом случае просто преобразуйте его с помощью ToString
метод и используйте спецификатор формата, такой как:
DateTime d = DateTime.Today;
string result = d.ToString("yyyy-MM-dd");
Однако я предостерег бы против использования этого в запросе базы данных или связанный в SQL-оператор. Базы данных требуют, чтобы использовалась определенная строка форматирования. Вы - более обеспеченное обнуление часть времени и использование DateTime как параметр SQL если, именно это Вы пытаетесь выполнить.
Вы не сказали, какая база данных, но с mysql вот простой способ получить дату от метки времени (и varchar преобразование типов должно произойти автоматически):
mysql> select date(now());
+-------------+
| date(now()) |
+-------------+
| 2008-09-16 |
+-------------+
1 row in set (0.00 sec)
Попробуйте следующее:
CONVERT(VARCHAR(10),GetDate(),102)
Тогда необходимо было бы заменить "." "-".
Вот сайт, который помогает http://www.mssqltips.com/tip.asp?tip=1145
Или 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), '.', '-')
Попробуйте следующее:
CONVERT(varchar(10), [MyDateTimecolumn], 20)
В течение целого времени даты и не просто даты сделайте:
CONVERT(varchar(23), [MyDateTimecolumn], 121)
Посмотрите эту страницу для стилей преобразования:
http://msdn.microsoft.com/en-us/library/ms187928.aspx
ИЛИ
SQL Server ПРЕОБРАЗОВЫВАЮТ () Функцию
declare @dt datetime
set @dt = getdate()
select convert(char(10),@dt,120)
я зафиксировал длину данных char(10)
, поскольку Вы хотите определенный формат строки.