【发布时间】:2014-08-21 05:58:53
【问题描述】:
请假有以下数据:-
EMPNO NAME DATEFROM DATETO
111 xxx 2014-08-03 00:00:00.000 2014-09-05 00:00:00.000
现在我正在从离开表中获取数据:
SELECT [NAME],
sum(datediff(day, DATEFROM, case
when dateto > '2014-08-31' then '2014-08-31'
else dateto
end)+1) as holiday
FROM [leave]
where DATEFROM >= '2014-08-01'
and DATEFROM <= '2014-08-31'
and userid = 1
group by name
它给了我以下完美的答案:-
NAME holiday
xxx 29
但我想从假期中排除周末(周五和周六)......但它必须从日期 2014-08-03 中排除(它在休假表和 datefrom 列中)
我该怎么做?
【问题讨论】:
标签: sql sql-server sql-server-2008