一个月的周末

时间:2012-09-11 07:03:52

标签: sql sql-server sql-server-2008 linq-to-sql

我想查看一组日期值,如果它在任何月份的第1个或第3个或第5个星期一之间。如何在SQL Server 2008中执行此操作?

2 个答案:

答案 0 :(得分:3)

好的,这可以通过几个条件很​​容易地表达出来:

WHERE
    DATEPART(weekday,DateToCheck) = DATEPART(weekday,'20120910') AND
    (
        DATEPART(day,DateToCheck) between 1 and 7 OR
        DATEPART(day,DateToCheck) between 15 and 21 OR
        DATEPART(day,DateToCheck) between 29 and 31
    )

(我按上面的DATEPART(weekday,...检查,这样我就不必知道服务器上的日期设置是什么 - 我只是根据周一的“已知商品”检查价值

答案 1 :(得分:2)

试试这个:

 SELECT  * 
 FROM    <your_table>
 WHERE   datename(weekday,<date_col>)='Monday'
 AND     DATEPART(day,<date_col>)/7 in (0,2,4)