Подсчитать количество дней, игнорируя время

Я пытаюсь подсчитать количество дней, в течение которых категория событий произошла в 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

Другие вопросы по тегам