【发布时间】:2014-04-17 20:49:34
【问题描述】:
我希望有人能帮助解释这段代码是如何工作的?
SELECT
dbo.Person.FullName, dbo.Person.Initials,
(DATEDIFF(dd, @startdate, @enddate) + 1) -
(DATEDIFF(wk, @startdate, @enddate) * 2) -
(CASE WHEN DATEPART(dw, @startdate) = 1 THEN 1 ELSE 0 END) -
(CASE WHEN DATEPART(dw, @enddate) = 7 THEN 1 ELSE 0 END) -
(Select Count(*) FROM [dbo].[W2BankHoliday]
Where [dbo].[W2BankHoliday].[bhDate] >= @StartDate AND [dbo].[W2BankHoliday].bhDate < @EndDate) AS WorkDays
FROM dbo.Person
【问题讨论】:
-
不明白哪一部分?
-
+1 和 2 有什么作用?为什么要从包含银行假日日期的表中计数()?
-
这段代码想为你解决什么问题?
标签: sql-server tsql formula