2013-02-21 74 views
0

如何使用select語句獲得從星期一開始的每週星期幾?按周計算

舉例'2013-01-06'=星期日。

這應該是在第1周。

請幫助。

+0

http://whathaveyoutried.com?請告訴我們你到目前爲止的情況。 SO不是代碼編寫服務,如果您提供了自己的工作證據,您將得到更好的迴應。請參閱[常見問題](http://stackoverflow.com/faq)。 – freefaller 2013-02-21 11:10:35

回答

1

試試這個

SET DATEFIRST 1 
select DATEPART(wk, '2-21-2013') -DATEPART(wk, '2-1-2013')+1 FROM table; 

這工作的方式與一個月+1

編輯

假設你的獨立本月1日添加日期在第一部分中扣除,天,year value are in varchar

Select CAST(year + '-' + month + '-' + date AS DATETIME) - 
CAST(year + '-' + month + '-01' AS DATETIME) + 1 From table 

Fiddle

+0

感謝發佈..但我不能這樣做,因爲我必須計算日期字段。我已經使用:日期部分(日期,日期差異(日,0,calendar_date)/ 7 * 7)/ 7 +1 – user1571129 2013-02-21 11:18:03

+0

我相信'2013-01-06'會顯示爲第二週。 – 2013-02-21 11:27:11

+0

@IvanG是它認爲星期日是星期幾的第一天。爲了讓它週一必須設置datefirst 1 – Meherzad 2013-02-21 11:31:27