如何在计算一年内日期间隔时减去星期六和星期日

在很多情况下,计算日期间隔需要将休息日减去。下面是用SQL语句设计的减去休息日的函数。但这里的休息日只包括星期日和星期六,包括其它休息日的程序的设计与之类似,只不过是多使用几次case when 语句而已。还有,本语句不能进行跨年度计算,但依据此方法很容易做到。本语句中日期间隔为负数时间隔为0,是否需要可以看实际情况而定。
declare @SCHED_DATE varchar(10)
declare @CLOSE_DATE varchar(10)
set @SCHED_DATE='2008-1-1'
set @CLOSE_DATE='2008-12-31'
select case when abs(datediff(d,@SCHED_DATE,@CLOSE_DATE))-2*abs(DATEPART(wk,@SCHED_DATE)-
DATEPART(wk,@CLOSE_DATE))<0
then 0 else abs(datediff(d,@SCHED_DATE,@CLOSE_DATE))-
2*abs(DATEPART(wk,@SCHED_DATE)-DATEPART(wk,@CLOSE_DATE)) end 日期间隔
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值