2012-11-01 213 views
0

在我的桌子我的每一天:如何查找日期是從奇數還是偶數?

Id_______Startdate _______ EndDate __________MondayMorning _____MondayEvening ___TuMorning .... 
121 _____2012-01-01________2012-12-31 ________2 ___________________2______________2 
122 _____2012-02-01________2012-08-05 ________1 ___________________2______________3 

我已經生成的使用開始日期和結束日期日期的列表。

我想知道,如果這個日期屬於單週或每週甚至讓我可以過濾從我的天輸出具有數字3或1(見第二個記錄)。

我怎麼能過濾屬於奇數週甚至數有1號和3周的日子?

+0

是週一還是週日的一週的開始?第一週從1月1日開始,可能不到7天? – Jodrell

+0

我已經設置了datefirst = 1,這意味着星期一是一週的開始。 1月1日不會有任何週數開始。我可以有53周。 – Ahmet

+1

@ user1781398 - 請定義***您的規則以確定某個特定日期所屬的週數。 – MatBailie

回答

3

您可以使用datepartwk參數來確定週數:

SELECT datepart(wk, YourDate) 

從那裏,你可以使用模數來確定週數爲偶數或奇數:

SELECT datepart(wk, YourDate) % 2 

這將在偶數週後返回0,在奇數週後返回1。

+2

我提'SET DATEFIRST',因爲這從根本上設置控制如何'DATEPART(周)'作品。此外,並非所有的系統都有1月1日爲week1 - 有的一個星期分配到當年那它的日子ATLEAST 4是這樣,Jan1st可能是前一年53周...... – MatBailie

+0

當我設置DATEFIRST這不是工作1.但我有我自己的函數返回正確的weeknumber,所以模數工作正常。 – Ahmet

+0

@ user1781398 - 定義「不工作」。這些價值是不是你所期望的? – LittleBobbyTables

相關問題