Генерация значения DATE в SQL Server

У меня есть запрос с колонкой received и значение 2014-02-13 19:34:00, Я выбираю дату в одиночку, используя DATE(received) и значение 2014-02-13

В MySQL я использую следующий запрос:

SELECT DATE(received) AS Mydate, status  
FROM Notification
WHERE project = 'proj001'  
GROUP BY Mydate 
ORDER BY received;

Как создать такое же значение в SQL Server?

2 ответа

Решение

Использование cast или же convert в SQL Server. Cast это стандарт ANSI. Convert специфичен для SqlServer

 select cast(received as date),status FROM Notification   -- or convert(date,received)
 WHERE project='proj001'  
 GROUP BY cast(received as date),status 
 ORDER BY cast(received as date);

Если вы используете SQL Server 2008 и выше, то

SELECT CONVERT(date, '2014-02-13 19:34:00') 

если вы используете более старую версию, то

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, '2014-02-13 19:34:00'))
Другие вопросы по тегам