我必須計算給定日期的週數,每週的第一天是Sunday
。獲取給定日期的週數(周從星期天開始)
這是我在做什麼。
DECLARE @Range_StartDate AS DATETIME = '2017-01-01'
SELECT @Range_StartDate,DATEPART(WEEK, @Range_StartDate)
只是一個例子,2016年,第一週從1月3日開始,具有第一週的一天是星期天,我希望提供「2016年1月1日」,它應該返回2016-01- 03年的第一週。
我必須計算給定日期的週數,每週的第一天是Sunday
。獲取給定日期的週數(周從星期天開始)
這是我在做什麼。
DECLARE @Range_StartDate AS DATETIME = '2017-01-01'
SELECT @Range_StartDate,DATEPART(WEEK, @Range_StartDate)
只是一個例子,2016年,第一週從1月3日開始,具有第一週的一天是星期天,我希望提供「2016年1月1日」,它應該返回2016-01- 03年的第一週。
您可以使用下面的代碼來獲取每週的第一天。 例如, 日期:2017年1月1日,第一天將是2017年1月3日00:00:00.000
DECLARE @Date datetime
DECLARE @Year int = YEAR('2017-01-01')
SET @Date = DATEADD(YEAR, @Year - 1900, 0)
SELECT DATEADD(DAY, (@@DATEFIRST - DATEPART(WEEKDAY, @Date) + (8 - @@DATEFIRST) * 2) % 6, @Date)
好了,你的結果應該是' '2017年1月1日00:00:00',1'。還有別的嗎? –
2017年的第一週從1月1日開始,如果我設置星期一到星期天的抵消。 – DareDevil
@DareDevil一月一日的第一天?在哪個日曆中? –