我正在尝试查询使用 id、startDateTime、endDateTime 设置的表。假设第 1 行如下所示:
id startDateTime endDateTime
100 2/9/2012 20:55 3/21/2012 10:43
我需要查询上述内容,以便获得上述范围内所有天数的不同计数。我的预期结果将在上述 42 天,因为从 2 月 9 日到 3 月 21 日有 42 个独特的日历日。Datediff 因为它查看时间片给了我 41 天。我尝试了 datediff 和 timediff 的各种迭代,试图让它工作,但找不到在所有情况下都有效的东西。关于如何在 SQL 中完成此操作的任何建议?
我从如下所示的查询开始:
SELECT ConditionStatus.ID,
SUM((DATEDIFF(ConditionStatus.endDate,ConditionStatus.startDate))) AS Duration
WHERE ID = 100
我的查询返回 41 的持续时间,这在技术上是准确的,但我需要设置条件以使日期范围内的每个日期都计数为 1
我试图模仿我们在数据仓库中使用的一些逻辑,在其中我们为每个有活动的日期持续计数 1。
谢谢,鲍勃