7

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

4

1 回答 1

18

这应该有效:

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)

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

于 2012-11-04T18:56:20.153 回答