【发布时间】:2018-08-24 11:38:27
【问题描述】:
我正在构建一个 SQL 函数,它可以根据一个人的开始和结束日期计算他们工作的总小时数。
例如:
开始日期 -------- 结束日期 --------- 小时
2015 年 3 月 1 日 ----- 2015 年 3 月 31 日 --------- 100
2015 年 4 月 1 日 ----- 2015 年 4 月 30 日 --------- 100
2015 年 5 月 1 日 --------- 2015 年 5 月 31 日 --------- 130
...
问题是我无法通过日历开始和结束日期来执行此操作。 (即 1 月至 12 月)它需要在财政开始和结束日期之前。
这需要从该人的开始日期(2015 年 3 月 1 日)到该日期之后的 12 个月(2016 年 3 月 1 日)。
SELECT year(StartDate), SUM(Hours)
from EmployeeHours
WHERE EmployeeID = 12345
group by year(StartDate)
order by year(StartDate) desc
因此,此代码正确返回每年的总和,但它基于日历年。
有人对我如何实现这一点有任何建议吗?
谢谢!
【问题讨论】:
-
你能发布一个你的数据表的例子吗?
-
你的 dbms 是什么?
-
我正在使用 Microsoft SQL Server Management Studio,如果有帮助的话。我真的没有任何数据表。都是测试数据。
标签: sql sql-server