0

我正在做一个时间记录程序,因为人们有不同的时间模型(全职工作,兼职工作(例如只在周一工作 3 小时和周三工作 5 小时)。我必须每天计算一切。我脑海中的表格是:

领域:

Workers_ID
Date
Weekday name
Hours to work
Hours worked

由于每个人都可以在一年中的每一天工作(工作时间),我需要一个连续的日期条目(例如从01.01.2013- 现在)或从01.01.2013-01.01.2100左右。

但由于我对 sql 很陌生,所以我不知道如何实现这一点。任何人都可以帮助我吗?

4

1 回答 1

1

不确定我是否正确理解了您的需求,但这是一种在两个日期之间获取连续日期的方法:

DECLARE @startDate DATETIME
DECLARE @endDate DATETIME

SET @startDate = '2013-01-01'
SET @endDate = GETDATE()


;WITH CTE_Dates AS
(
    SELECT @startDate AS DT
    UNION ALL
    SELECT DATEADD(DD,1,DT) FROM CTE_Dates
    WHERE DT <= @endDate
)
SELECT * FROM CTE_Dates
OPTION (MAXRECURSION 0)
于 2013-05-28T08:39:39.927 回答