2

我有一个非常简单的查询

SELECT SUM(Balance) FROM TimeSystem
WHERE EmployeeNo = @EmployeeNo
AND RegDate BETWEEN @StartDate AND EndDate

现在,我被分配创建一个返回余额的查询,但仅从与@EndDate 同一周的星期一开始。

因此,我需要创建一个使用 @EndDate 的变量,并找到同一周的星期一日期,然后将其放在一个名为 @Monday 的变量中。

我只使用了大约 3 个月的 SQL,所以我不确定这是否可以归档?

谢谢

4

2 回答 2

3
declare @date datetime
set @date=GETDATE()

select DATEADD(wk, DATEDIFF(wk, 0,@date),0)
于 2012-12-21T08:13:48.663 回答
1

另一个版本将在周日获得前一个周一:

DECLARE @date DATE

SET @date = '2017-06-18' -- GETDATE()

SELECT DATEADD(DAY
                 ,CASE DATEPART(WEEKDAY, @date)WHEN 1 THEN -6 ELSE (DATEPART(WEEKDAY, @date) - 2) * -1 END
                 ,@date
              )
于 2017-06-20T14:52:34.503 回答