Ahm*_*met 0 sql sql-server stored-procedures
在我的表格中,我每天都有:
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
Run Code Online (Sandbox Code Playgroud)
我已经使用 Startdate 和 EndDate 生成了日期列表。
我想知道这个日期是属于奇数周还是偶数周,以便我可以从输出中过滤数字为 3 或 1 的日期(请参阅第二条记录)。
如何过滤属于编号为 1 和 3 的奇数周和偶数周的日期?
您可以datepart与wk参数一起使用来确定周数:
SELECT datepart(wk, YourDate)
Run Code Online (Sandbox Code Playgroud)
从那里,您可以使用模数来确定周数是偶数还是奇数:
SELECT datepart(wk, YourDate) % 2
Run Code Online (Sandbox Code Playgroud)
对于偶数周,这将返回 0;对于奇数周,这将返回 1。