首页 > 解决方案 > 在我的 where 子句过滤器中排除周末

问题描述

我正在使用 SQL Server 2014。我有以下查询:

Use MyDatabase

select *
from Table1    
where [CreatedOn] between '2019-01-01' and '2019-12-31'

我需要过滤,[CreatedOn]以便排除指定日期之间的所有周六和周日。

执行此操作的正确语法是什么?

标签: sql-servertsql

解决方案


Where [CreatedOn] between '2019-01-01' and '2019-12-31'
  and DATEPART(WEEKDAY,[CreatedOn]) not in (6, 7) 

请注意,在某些文化中,星期日是一周的第一天。如果是这种情况,您需要更改not in (6, 7)not in (7, 1)

你可以检查一周的第一天SELECT @@DATEFIRST


推荐阅读