2017-09-18 26 views

答えて

3

は、以下のことを試してみてください。

SELECT 
    DATEADD(dd, -(DATEPART(dw, yourDateInput)-1), yourDateInput) AS Weekstart 
    ,DATEADD(dd, 7-(DATEPART(dw, yourDateInput)), yourDateInput) As weekEnd; 

。なお:週の最初の日は、SQLサーバー上の言語設定に依存します。

17-23の開始日と終了日がある場合は、日曜日が週の最初の曜日です。

したがって、この場合には、あなたが使用する必要があります

SET DATEFIRST 1; 

は月曜日を週の最初の日になるように設定するには。

enter image description here

0

次のクエリを実行してみてください、それはあなたが:)

DECLARE @b DATE = '20170918' --put your date here 

DECLARE @a DATE 


Print('First day of Current Week:') 
set @a = dateadd(ww, Datediff(ww,0,@b),0) 
Print(@a) 
Print('') 

Print('Last day of Current Week:') 
set @a = dateadd(ww, Datediff(ww,0,@b)+1,-1) 
Print(@a) 
Print('') 

--additional queries 
SET @a =dateadd(mm, Datediff(mm,0,@b),0) 
Print('First day of Current Month:') 
Print(@a) 
Print('') 

set @a = dateadd(mm, Datediff(mm,0,@b)+1,-1) 
Print('Last day of Current Month:') 
Print(@a) 
Print('') 

Print('First day of Last Month:') 
set @a = dateadd(mm, Datediff(mm,0,@b)-1,0) 
Print(@a) 
Print('') 

Print('Last day of Last Month:') 
set @a = dateadd(mm, Datediff(mm,0,@b),-1) 
Print(@a) 
Print('') 


Print('First day of Last Week:') 
set @a = dateadd(ww, Datediff(ww,0,@b)-1,0) 
Print(@a) 
Print('') 

Print('Last day of Last Week:') 
set @a = dateadd(ww, Datediff(ww,0,@b),-1) 
Print(@a) 
を望むすべてを与えるだろう
関連する問題