如何排除SQL Server查询中的周末date?
如何排除星期六或星期日的DateTime列中的值? 
例如,给出以下数据:
 date_created '2009-11-26 09:00:00' -- Thursday '2009-11-27 09:00:00' -- Friday '2009-11-28 09:00:00' -- Saturday '2009-11-29 09:00:00' -- Sunday '2009-11-30 09:00:00' -- Monday 
这是我正在寻找的结果:
 date_created '2009-11-26 09:00:00' -- Thursday '2009-11-27 09:00:00' -- Friday '2009-11-30 09:00:00' -- Monday 
谢谢!
 在处理星期计算时,考虑当前的DATEFIRST设置很重要。 此查询将始终正确排除周末天数,使用@@DATEFIRST来说明一周中第一天的任何可能设置。 
 SELECT * FROM your_table WHERE ((DATEPART(dw, date_created) + @@DATEFIRST) % 7) NOT IN (0, 1) 
 SELECT date_created FROM your_table WHERE DATENAME(dw, date_created) NOT IN ('Saturday', 'Sunday') 
假设你正在使用SQL Server,使用DATEPART和dw:
 SELECT date_created FROM your_table WHERE DATEPART(dw, date_created) NOT IN (1, 7); 
  编辑:我应该指出,由DATEPART(dw)返回的实际数值是由SET DATEFIRST设置的值确定的: 
  http://msdn.microsoft.com/en-us/library/ms181598.aspx 
 试试DATENAME()函数: 
 select [date_created] from table where DATENAME(WEEKDAY, [date_created]) <> 'Saturday' and DATENAME(WEEKDAY, [date_created]) <> 'Sunday' 
答案取决于你的服务器周启动设置,所以它也是
 SELECT [date_created] FROM table WHERE DATEPART(w,[date_created]) NOT IN (7,1) 
如果星期天是您服务器的第一天
要么
 SELECT [date_created] FROM table WHERE DATEPART(w,[date_created]) NOT IN (6,7) 
如果星期一是您服务器的第一天
如果您有任何问题,请留言:-)
计算将表格列中的工作天数保留为默认值 – 已更新
如果您使用SQL这里是可以帮助您的查询: http://gallery.technet.microsoft.com/Calculate …
试试这个代码
 select (DATEDIFF(DD,'2014-08-01','2014-08-14')+1)- (DATEDIFF(WK,'2014-08-01','2014-08-14')* 2)