sql 得到一周的 開始時間 結束時間

DECLARE @REPORT_DATE DATETIME, @WEEK_BEGINING VARCHAR( 10)
SELECT @REPORT_DATE = getdate()
SELECT @WEEK_BEGINING =  ' MONDAY '
IF @WEEK_BEGINING =  ' MONDAY '
SET DATEFIRST  1
ELSE IF @WEEK_BEGINING =  ' TUESDAY '
SET DATEFIRST  2
ELSE IF @WEEK_BEGINING =  ' WEDNESDAY '
SET DATEFIRST  3
ELSE IF @WEEK_BEGINING =  ' THURSDAY '
SET DATEFIRST  4
ELSE IF @WEEK_BEGINING =  ' FRIDAY '
SET DATEFIRST  5
ELSE IF @WEEK_BEGINING =  ' SATURDAY '
SET DATEFIRST  6
ELSE IF @WEEK_BEGINING =  ' SUNDAY '
SET DATEFIRST  7
DECLARE @WEEK_START_DATE DATETIME, @WEEK_END_DATE DATETIME
--GET THE WEEK START DATE
SELECT @WEEK_START_DATE = @REPORT_DATE - (DATEPART(DW, @REPORT_DATE) -  1)
--GET THE WEEK END DATE
SELECT @WEEK_END_DATE = @REPORT_DATE + ( 7 - DATEPART(DW, @REPORT_DATE))
PRINT  ' Week Start:  ' + CONVERT(VARCHAR, @WEEK_START_DATE)
PRINT  ' Week End:  ' + CONVERT(VARCHAR, @WEEK_END_DATE)

你可能感兴趣的:(sql)