Генерация значения 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'))