设为首页 收藏本站 English

当前位置: 都江堰体育网 >> 电竞

独自幸福快乐拜仁评分蒂亚戈莱万基米希获高分全队均及格依依不舍孤独

发布时间:2020-06-26 07:03:24

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 al;

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

/*------------------------------------------------------------------------------------------

函数名称:Get_WorkingDays

中文名称:求某一年月中共有多少工作日

作者姓名: XINGPING

编写时间:

输入参数:NY:所求包含工作日数的年月,格式为yyyymm,如200405

返 回 值:整型值,包含的工作日数目。

算法描述:

1).列举出参数给出的年月中的每一天。这里使用了一个表(ljrq是我的库中的一张表。这个表可以是有权访问的、记录条数至少为31的任意一张表或视图)来构造出某年月的每一天。

2).用这些日期和一个已知星期几的日期相减(是星期天),所得的差再对7求模。如果所求年月在以前,那么所得的差既是负数,求模后所得值范围为大于-6,小于0,如-1表示星期六,故先将求模的结果加7,再求7的模.

3).过滤掉结果集中值为0和6的元素,然后求count,所得即为工作日数目。

-------------------------------------------------------------------------------------------------*/

Result INTEGER;

BEGIN

SELECT COUNT(*) INTO Result

FROM (SELECT MOD(MOD(-to_date('','yyyy-mm-dd'),7),7) weekday

FROM ( SELECT to_date(ny||,'yyyymmdd') rq

FROM (SELECT substr(100+ROWNUM,2,2) dd

FROM ljrq z WHERE Rownum=31

) t

WHERE to_date(ny||,'yyyymmdd')

BETWEEN to_date(ny,'yyyymm')

AND last_day(to_date(ny,'yyyymm'))

)q

) a

WHERE ekday NOT IN(0,6);

RETURN Result;

END Get_WorkingDays;

CREATE OR REPLACE FUNCTION Get_WorkingDays(

ny IN VARCHAR2

) RETURN INTEGER IS

/*-----------------------------------------------------------------------------------------

函数名称:Get_WorkingDays

中文名称:求某一年月中共有多少工作日

作者姓名: XINGPING

编写时间:

输入参数:NY:所求包含工作日数的年月规模大,格式为yyyymm,如200405

返 回 值:整型值,包含的工作日数目。

算法描述:使用Last_day函数计算出参数所给年月共包含多少天,根据这个值来构造一个循环。在这个循环中先求这个月的每一天与一个已知是星期天的日期(是星期天)的差,所得的差再对7求模。如果所求日期在以前,那么所得的差既是负数,求模后所得值范围为大于-6,小于0,如-1表示星期六,故先将求模的结果加7,再求7的模. 如过所得值不等于0和6(即不是星期六和星期天),则算一个工作日华硕旗下拥有极为庞大的PC零组件产品线。

----------------------------------------------------------------------------------------*/

Result INTEGER := 0;

myts INTEGER;   --所给年月的天数

scts INTEGER;   --某天距所差的天数

rq  DATE;

djt INTEGER := 1;  --

BEGIN

myts := to_char(last_day(to_date(ny,'yyyymm')),'dd');

LOOP

rq := TO_date(ny||substr(100+djt,2),'yyyymmdd');

scts := rq - to_date('','yyyy-mm-dd');

IF MOD(MOD(scts,7)+7,7) NOT IN(0,6) THEN

Result := Result + 1;

END IF;

djt := djt + 1;

EXIT WHEN djtmyts;

END LOOP;

RETURN Result;

END Get_WorkingDays;

查看本文来源

汕尾治疗白癜风哪家医院好
积食发热会咳嗽吗
煲排毒养颜汤的方法
友情链接