Oracle计算指定日期内的工作日(不包含周末)
1、获取当天是礼拜几:select to_char(sysdate,'d') from dual; --礼拜天为1,礼拜一为2,类推
2、获取 两个时间段间的 工作日:
select (trunc(&end_dt - &start_dt) - ((caseWHEN (8 - to_number(to_char(&start_dt,'D'))) > trunc(&end_dt - &start_dt) + 1 THEN 0ELSEtrunc((trunc(&end_dt - &start_dt) -(8 - to_number(to_char(&start_dt,'D'))))/7) + 1 END) + (caseWHEN mod(8 - to_char(&start_dt, 'D'), 7) > trunc(&end_dt - &start_dt) - 1 THEN 0ELSEtrunc((trunc(&end_dt - &start_dt) - (mod(8 - to_char(&start_dt,'D'),7) + 1))/7) + 1 END)))as workingdaysfrom dual
下面的sql可以直接运行:
select (trunc(to_date('2010-11-11','yyyy-mm-dd') - to_date('2010-11-07','yyyy-mm-dd')) - ((caseWHEN (8 - to_number(to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'))) > trunc(to_date('2010-11-11','yyyy-mm-dd') - to_date('2010-11-07','yyyy-mm-dd')) + 1 THEN 0ELSEtrunc((trunc(to_date('2010-11-11','yyyy-mm-dd') - to_date('2010-11-07','yyyy-mm-dd')) -(8 - to_number(to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'))))/7) + 1 END) + (caseWHEN mod(8 - to_char(to_date('2010-11-07','yyyy-mm-dd'), 'D'), 7) > trunc(to_date('2010-11-11','yyyy-mm-dd') - to_date('2010-11-07','yyyy-mm-dd')) - 1 THEN 0ELSEtrunc((trunc(to_date('2010-11-11','yyyy-mm-dd') - to_date('2010-11-07','yyyy-mm-dd')) - (mod(8 - to_char(to_date('2010-11-07','yyyy-mm-dd'),'D'),7) + 1))/7) + 1 END)))as workingdaysfrom dual
Oracle计算指定日期内的工作日(不包含周末)相关推荐
- oracle计算每月最小工作日,Oracle计算指定日期内的工作日(不包含周末)
1.获取当天是礼拜几:select to_char(sysdate,'d') from dual; --礼拜天为1,礼拜一为2,类推 2.获取 两个时间段间的 工作日: select (trunc(& ...
- oracle取某年工作日,Oracle计算指定日期内的工作日(不包含周末)
1.获取当天是礼拜几:select to_char(sysdate,'d') from dual; --礼拜天为1,礼拜一为2,类推 2.获取 两个时间段间的 工作日: select (trunc(& ...
- oracle获取指定日期内工作日的天数或节假日天数
oracle 获取指定日期内工作日的天数 不必拘泥,可以反向思考 获取这段时期内周六日的天数,再用总天数减去周六日的天数,得到我们想要的 获取时间段内 所有日期 select to_date('202 ...
- oracle计算一个日期加上指定工作日(排除周六周日和一系列节假日)时间
第一步: 创建一个表格holiday用于灵活存放节假日日期(周末除外),如果和周末日期重复,则无需添加到该表格中: create table T_RENT_HOLIDAY ( ID VARCHAR2( ...
- Java判断工作日计算,计算随意2个日期内的工作日
当前位置:我的异常网» Java Web开发 » 计算随意2个日期内的工作日 计算随意2个日期内的工作日 www.myexceptions.net 网友分享于:2013-08-17 浏览:51次 ...
- java计算任意2个日期内的工作日_计算任意2个日期内的工作日(摘抄)
思路不错,对时间的操作挺全面,参考一下.代码如下: package test; import java.text.SimpleDateFormat; import java.util.Calendar ...
- Oracle计算当前日期在N个工作日之后的日期
最近项目中有一个自动扣款的需求,需要在商品出售之后 7 个工作日之后进行自动扣款,由此封装了一个存储过程以便于调用. 注意:本示例使用oracle. 一.创建一张GGHOLIDAY表并insert部分 ...
- oracle 节假日天数,强大的PLSQL - 计算两个日期之间的工作日天数-除去(周末和公共假日...
用php写了一个函数,实现的功能是 计算两个日期之间的工作日天数-除去(周末和公共假日)写了 300多行的代码, 实现公共假日从文件中读取, 或者从数据库提取, 然后传入两个日期,就能返回想要的结果 ...
- 计算两个日期之间的工作日(去掉周末和节假日)
一个贴吧上找到的,整理一下 package com.uphone.commons;import java.text.ParseException; import java.text.SimpleDat ...
最新文章
- win7科学计算机的用法,win7中计算器的多种用法
- mongodb web_MongoDB和Web应用程序
- java编译系统资源不足_Ant编译项目资源不足
- phpcms 添加稿件到栏目 add_content
- 房地产建筑行业HTML5模板
- GridView控件日期格式化
- 电脑老是自动重启怎么回事??
- 麦子学院bootstrap实战项目官网,后台,jquery.singlePageNav.min.js ,wow.min.js,animate.css使用...
- matlab四叉树分割代码,【测绘专用】 MATLAB 四叉树分割遥感图像
- Windows系统常用设置
- 安川机器人程序还原_安川机器人报错代码:上传操作和判断CF卡故障
- Android HAL层
- UVa 1616 商队抢劫者(Caravan Robbers)
- K-means clustering using random matrix sparsification(ICML2018)
- oracle数据库纵向转横向,复杂SQL语句实现表中数据横向变纵向问题求解
- 使用封装的API接口,在控制台输出undefined
- 5735. 雪糕的最大数量
- QT5打开图片并显示
- Python time 模块time 函数的时间单位
- 解答:Visio自画封闭图形如何填充?