从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这个必须没有啊。
创新新互联,凭借10余年的成都做网站、网站制作经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上1000+案例。做网站建设,选创新互联。
你自己创建一个日历表,定义哪天是休息日,哪天是工作日。
然后再做判断。
以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,与语句所得结果一致。
适用于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天数
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图