0
我有2列:[StartDT]和[EndDT],它们是日期时间格式像这样:二零一四年五月二十零日12:45:18.383总和为每半小时
我需要得到的东西按每半小时[StartDT]和[EndDT]之差的总和计算。所以我的输出基本上每一行都是特定1/2期间差异的总和,如:00:00 - 34秒,下一行:00:30 - 23秒。
我能够创建代码这样做一次,它看起来像这样:
SELECT sum(DATEDIFF (s , [StartDT] , [EndDT])) as SumTotal
FROM [Radio].[dbo].[Sheet1]
WHERE DATEPART(DAY, StartDT) = 1 and DATEPART(HOUR, StartDT) between 0 and 1 and DATEPART(MI, StartDT) between 0 and 30;
的代码将看看表,发现在第一天的第一个小时的前30分钟内。现在我怎么会自动化这遍历整个表。我知道我会如何在C中完成这项工作,但是我对SQL和Common Table Expressions(CTE)没有太多的经验。
这里我的选择是一个维度表...创建一个表名为dim_time或东西的程度和每30分钟间隔填充你想报告。你可以交叉加入一个日期列表,并且每个日子都有一个48小时30分钟的表格。然后使用该表作为查询的起点。 – Twelfth 2014-08-27 18:53:11