Oracle plsql 计算日期间工作日天数

原创 2013年12月05日 17:06:23
declare
  v_fdate date := to_date('2013-10-4','yyyy-mm-dd');
  v_ldate date := to_date('2013-10-22','yyyy-mm-dd');
  v_interval_a number;
  v_interval_b number;
  v_interval_all number;
begin
  --先算整周有几周,然后乘一周五天工作日
  v_interval_a := floor((v_ldate - v_fdate)/7) * 5;
  --然后再算剩余的天数
  v_interval_b := mod((v_ldate - v_fdate),7);
  
  --从头开始循环,共循环剩余天数次,遇到周六周日,减去一天
  for i in 0..v_interval_b - 1 loop
    dbms_output.put_line(to_char(v_fdate + i,'day'));
    case to_char(v_fdate + i,'day')
      when '星期六' then v_interval_b := v_interval_b - 1;
      when '星期日' then v_interval_b := v_interval_b - 1;
      else null;
    end case;
  end loop;
  
  --把两部分合并起来,算出总共工作日,并输出
  v_interval_all := v_interval_a + v_interval_b;
  dbms_output.put_line(to_char(v_fdate,'yyyy-mm-dd') || ' 到 ' || 
  to_char(v_ldate,'yyyy-mm-dd') || ' 有 ' || v_interval_all || ' 天工作日');
end;
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

计算两个日期间的天数

计算两个日期间的天数 这个不难,只是要很心细,上次写提碰到这个,忽然间去做,觉得好麻烦,今天找时间完整的想了遍~ 主要思想是,怎么算最快: 我觉得 应该是首先算整年份,其次整月份,然后算天数 但是,...

Java 两个日期间的天数计算

在Java中计算两个日期间的天数,大致有2种方法:一是使用原生JDK进行计算,在JDK8中提供了更为直接和完善的方法;二是使用第三方库。 1、使用原生的JDK private static ...

根据时间段计算工作日的天数(SqlServer),包含节假日的处理

创建节假日表: USE [XHManage] GO /****** Object:  Table [dbo].[Holiday]    Script Date: 02/20/2014 17:51...

java 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期

根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期
  • sqbzo
  • sqbzo
  • 2014年02月14日 10:33
  • 4035

计算两个日期之间的工作日天数

js计算两个日期之间的工作日天数

计算两个工作日之间的工作日

  • 2016年05月09日 11:12
  • 23KB
  • 下载

C++ 求两日期间相隔天数

#include #include #include using namespace std; struct Date{ int year; int month; i...

计算两个日期间相差多少天

  • 2014年03月01日 20:11
  • 1KB
  • 下载

小李飞刀系列之Oracle EBS期间平均成本(PAC)--生产成本计算(二)资源设置

在上一篇文章中,我们讨论了Oracle EBS成本计算中成本要素和层次的概念。本篇文章开始将对成本要素”资源”进行讨论。 在进行资源设置时(如图1所示),对于PAC来说,下面几处的设置比较关键:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle plsql 计算日期间工作日天数
举报原因:
原因补充:

(最多只允许输入30个字)