我可以计算SQL Server中两个日期之间的周末天数吗?

use*_*721 7 sql datetime sql-server-2008

我正在计算一份报告的招聘设备收入.其中,与正常天数相比,周末天的招聘成本将增加10%.那么如何计算两个日期之间的周末天数.而在报表查询中,我也不能使用DECLARE.有人可以帮助我做到这一点.非常感谢

Tim*_*ter 16

这应该工作:

DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate = '2012/11/01'
SET @EndDate = '2012/11/05'


SELECT
  (DATEDIFF(wk, @StartDate, @EndDate) * 2)
   +(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday'   THEN 1 ELSE 0 END)
   +(CASE WHEN DATENAME(dw, @EndDate)   = 'Saturday' THEN 1 ELSE 0 END)
Run Code Online (Sandbox Code Playgroud)

http://sqlfiddle.com/#!3/d41d8/5707/0