10

タイムスタンプを指定して、現在の週の最後の日 (日曜日) を取得したいと考えています。次のスクリプトを試してみましたが、予想どおり日曜日ではなく、土曜日が最終日として返されます。

Select DATEADD(DAY , 7-DATEPART(WEEKDAY,GETDATE()),GETDATE()) AS 'Last Day Of Week' 

どんな回答でも大歓迎です!!

4

4 に答える 4

17

標準の DATEFIRST を日曜日 (7) から月曜日 (1) に変更すると機能します。

SET DATEFIRST 1

Select DATEADD(DAY , 7-DATEPART(WEEKDAY,GETDATE()),GETDATE()) AS 'Last Day Of Week' 
于 2012-07-20T13:59:38.933 に答える
1
DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 6)

この投稿が古いことは知っていますが、Google で検索すると、この投稿が一番上に表示されます。

いつも更新してて良かったです。

于 2019-07-30T17:50:06.870 に答える
0

コマンドの前にset datefirst 1

于 2012-07-20T14:00:19.323 に答える