Cha*_*ing 1 sql sql-server function unary-function
我想找出在调用括在括号中的SQL函数之前包含连字符时,SQL语法背后的逻辑是什么。
这是SQL:
IF (@StartDate > @EndDate)
BEGIN
SET @EndDate = @StartDate
SET @StartDate = @EndDate
END
DECLARE @nonworkingweekdays int
--now deal with public holidays
SELECT @nonworkingweekdays = count("Date") from
(
select distinct
(
CASE datepart(weekday,date)
WHEN 1 THEN null --ignore sundays
WHEN 7 THEN null --ignore saturdays
else "Date"
END
) AS "date"
from publicholidays
) nonworkingweekdays
WHERE
"Date" is not null and
"Date" between @StartDate and DATEADD(day, -1, @EndDate)
RETURN
CASE WHEN @StartDate <= @EndDate
THEN
dbo.FullWeekDays(@StartDate, @EndDate) - @nonworkingweekdays
ELSE
-(dbo.FullWeekDays(@StartDate, @EndDate) - @nonworkingweekdays)
END
Run Code Online (Sandbox Code Playgroud)
我感到困惑的逻辑是在else语句和此脚本底部的return语句中。
提前致谢 :)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |