oracle怎么排除周末 oracle判断周末

Oracle有没有工作日函数,剔除春节调假,二不是简单的周末双休的计算?

这个必须没有啊。

创新新互联,凭借10余年的成都做网站、网站制作经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上1000+案例。做网站建设,选创新互联。

你自己创建一个日历表,定义哪天是休息日,哪天是工作日。

然后再做判断。

oracle中怎么得到日期相减除去周末后的天数

以2015年12月1日至2015年12月31日为例。其中周六和周日算周末。

查询除周末以外的天数(oracle中以周日为1,周一为2……周六为7),可用如下语句:

with t as

(select rownum-1 rn from dual connect by rownum=100)

select count(*) from t 

where to_char(to_date('2015-12-01','yyyy-mm-dd')+rn,'yyyy-mm-dd') between '2015-12-01' and '2015-12-31' 

and to_char(to_date('2015-12-01','yyyy-mm-dd')+rn,'d') not in (6,7);

查询结果:

查日历可得,2015年12月1日至2015年12月31日期间,周六周日的天数合计8天,31-8=23,与语句所得结果一致。

oracle怎么计算两个日期之间去除周末的天数?

适用于SQL上下文环境

去掉的是周六/7,周日/1两天周末

具体SQL如下、这是避免日期格式本地化的版本

select count(1) from (

select to_char(TO_DATE('2016-12-24','yyyy-MM-dd') - level, 'd') DOW

from dual

connect by level = trunc(TO_DATE('2016-12-24','yyyy-MM-dd') - TO_DATE('2016-11-19','yyyy-MM-dd'))

) where DOW not in (7, 1);

总结:

第一层查询是通过connect by level生成两个日期间的天数行

其中to_char(,'d')DOW字段返回的是周几的对应1~7的数字

第二层查询就是去掉周六周日然后count天数

网页标题:oracle怎么排除周末 oracle判断周末
URL地址:https://www.cdcxhl.com/article34/hjdjpe.html

成都网站建设公司_创新互联,为您提供网站营销网页设计公司企业网站制作关键词优化虚拟主机网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设