我有一個問題,如何按月拆分星期。實際上,我的周從星期一開始,在sql server周從星期天開始,這就產生了這個問題。如果用戶提供的開始日期和結束日期的日期差異超過30且小於90,我必須編寫代碼,以便日期在幾天和幾周內分開。這是這樣完成的 - 首先我必須找到是什麼,如果開始日期適逢星期一,然後它的好以外第一我一定要找到什麼時候是上週一爲了這個,我發現 -如何從星期一拆分星期
declare @enddate date = '2015-08-01';
select convert (date, DATEADD(wk, DATEDIFF(wk, 0,@enddate),0))
但它不會,如果開始工作的開始日期日期是爲了這個,我已經添加了一個變量,它會檢查是什麼日子開始一天,如果是星期天,然後我把它設置爲1,然後我改變了我的代碼─(週日只)
declare @enddate date = '2015-08-02';
select convert (date, DATEADD(wk, DATEDIFF(wk, 6,@enddate),0))
週日210
對我來說,主要的問題是幾周內如何分手。我按給定的代碼分裂了幾周。 這是例如日期
declare @enddate date = '2015-11-03';
SELECT 'Week ' + CAST(DATEPART(WEEK,@ENDDATE)
- DATEPART(WEEK,DATENAME(YEAR,@ENDDATE) + '/'
+ DATENAME(MONTH,@ENDDATE) + '/' + '1') AS NVARCHAR)+ ' ' + DATENAME(MONTH,@ENDDATE)
是 -
Week 0 November
而且它顯示0周,1和7之間的所有日期十一月
誰能幫助我,爲什麼它顯示本週ouptut 0不是第2周,因爲我的星期從星期一和2015年11月開始,因此只有一天應該是第1周,並且從11月2日到11月8日應該是第2周 歡迎任何幫助,請評論,如果你不瞭解我也試圖去拋媚眼並試用了此網站本身第一,但不找到任何
EDITED-希望有一個邏輯,這樣我就可以一週從週一分裂到週日,但我不能把它原樣
如果一個月改變在幾個星期之間,一個月中的30個是星期二,因此這個星期只應在這裏結束,下個月1將在星期三現在從週三到週日開始的每個月的新的一週將是該月的第一週。
在我的案例邏輯我已經得到它,但具體到2015年11月我無法得到它。
輸出須─
Start date -2015-09-07 End date-2015-11-01
Output
Start date End date
Week 2 September Week 1 November
Start date -2015-09-07 End date-2015-11-05
Output -
Start date End date
Week 2 September Week 1 November
2015-11-02 2015-11-05
Start date -2015-09-07 End date-2015-11-08
Output -
Start date End date
Week 2 September Week 2 November
Start date -2015-09-08 End date-2015-11-05
Start date End date
2015-09-08 2015-09-13
Week 3 September Week 1 November
2015-11-02 2015-11-05
張貼這沒有很大的意義。有很多文字,但它並沒有描繪出你想要做什麼的清晰畫面。 –
我不明白什麼時候開始/我看不到開始日期。你可以添加清楚的例子,開始和結束日期及其各自的輸出。你目前的例子現在沒有什麼意義。 –
你能再次檢查嗎 –