Подсчитать количество дней, игнорируя время
Я пытаюсь подсчитать количество дней, в течение которых категория событий произошла в T-SQL в SSMS 2008. Как мне написать это выражение? Это значение хранится как дата и время, но я хочу считать только часть дня. Например, если мои значения были:
2013-01-05 19:20:00.000
2013-01-06 17:20:00.000
2013-01-06 18:20:00.000
2013-01-06 19:20:00.000
2013-01-03 16:15:00.000
2013-01-04 12:55:00.000
Тогда, хотя есть 6 уникальных записей, перечисленных выше, я хотел бы считать это только 4, так как на 1/6/2013 есть 3 записи. Есть смысл?
Вот то, что я пытаюсь сейчас, это не работает:
select
count(s.date_value)
From
table_A s
1 ответ
Решение
Приведите значение datetime в качестве даты. Также, если вы хотите только уникальные значения, используйте DISTINCT
:
SELECT COUNT(DISTINCT CAST(date_value AS date)) FROM table_A