两种方法分析每月工作日计算程序

麟麟enjoy

麟麟enjoy

2016-01-29 14:40

两种方法分析每月工作日计算程序,两种方法分析每月工作日计算程序

 SQL SELECT TEXT FROM USER_SOURCE WHERE TYPE='PROCEDURE' AND NAME='GZR';
  
  TEXT                                                
  ----------------------------------------------------------------------------------------------------
  procedure gzr(v_nowdate in varchar2) as                              
  v_firstsaturday varchar2(10);                                   
  v_outdate date;                                          
  v_countworkday number(10);                                     
  begin                                               
        select to_char(next_day(to_date(concat(v_nowdate,'01'),'yyyymmdd'),1)-1,'dd')         
       into v_firstsaturday                                      
       from sys.dual;                                         
   v_countworkday:=to_number(v_firstsaturday)-1;                          
   loop                                               
    v_outdate:=to_date(concat(v_nowdate,v_firstsaturday+7),'yyyymmdd');              
    if v_outdate yyymm'),'01'),'yyyymmdd') then                                   
                                                    
     v_countworkday:=v_countworkday+5;                              
     else                                             
     v_countworkday:=v_countworkday+5-to_number(v_outdate-to_date(concat(to_char(add_months(sysdate
  ,1),'yyyymm'),'01'),'yyyymmdd'));                                 
                                                    
    end if;                                            
   exit when v_outdate=to_date(concat(to_char(add_months(sysdate,1),'yyyymm'),'01'),'yyyymmdd');  
  
  TEXT
  
  CREATE OR REPLACE FUNCTION Get_WorkingDays(
   ny IN VARCHAR2
  ) RETURN INTEGER IS

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

  
  /*------------------------------------------------------------------------------------------
  函数名称:Get_WorkingDays
  中文名称:求某一年月中共有多少工作日
  作者姓名: XINGPING
  编写时间: 2004-05-22
  输入参数:NY:所求包含工作日数的年月,格式为yyyymm,如200405
  返 回 值:整型值,包含的工作日数目。
  算法描述:
    1).列举出参数给出的年月中的每一天。这里使用了一个表(ljrq是我的库中的一张表。这个表可以是有权访问的、记录条数至少为31的任意一张表或视图)来构造出某年月的每一天。
    2).用这些日期和一个已知星期几的日期相减(2001-12-30是星期天),所得的差再对7求模。如果所求年月在2001-12-30以前,那么所得的差既是负数,求模后所得值范围为大于-6,小于0,如-1表示星期六,故先将求模的结果加7,再求7的模.
    3).过滤掉结果集中值为0和6的元素,然后求count,所得即为工作日数目。   
  -------------------------------------------------------------------------------------------------*/

展开更多 50%)
分享

猜你喜欢

两种方法分析每月工作日计算程序

电脑网络
两种方法分析每月工作日计算程序

计算两个日期间的工作日

编程语言 网络编程
计算两个日期间的工作日

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

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

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

Linux下计算程序运行时间的两种方法

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux下计算程序运行时间的两种方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

亲子瑜伽的两种方法

幼儿园 宝宝
亲子瑜伽的两种方法

Photoshop两种方法打造怀旧街景

PS PS基础
Photoshop两种方法打造怀旧街景

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

OracleJOB的建立 定时执行任务

OracleJOB的建立 定时执行任务

oracle中的connectby在sqlserver中实现

oracle中的connectby在sqlserver中实现
下拉加载更多内容 ↓