注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 你会划分和聚合子网吗?
 帮助

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


2008-04-19 10:55:34
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fengyp.blog.51cto.com/276754/72411
在很多情况下,计算日期间隔需要将休息日减去。下面是用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 日期间隔

本文出自 “风雨同舟” 博客,请务必保留此出处http://fengyp.blog.51cto.com/276754/72411





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: