2

私は非常に単純なクエリを持っています

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

これで、残高を返すクエリを作成する割り当てが与えられましたが、@EndDate と同じ週の月曜日からのみです。

そのため、@EndDate を使用する変数を作成し、同じ週の月曜日の日付を検索して、たとえば @Monday という変数に配置する必要があります。

私は SQL を約 3 か月しか使用していないので、これがアーカイブ可能かどうかわかりません。

ありがとう

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 に答える