oracle怎么过滤不符合日期,ORACLE 中对日期期间的实验

查出任一年月所含的工作日CREATEORREPLACEFUNCTIONGet_WorkingDays(nyINVARCHAR2)RETURNINTEGERIS/*------------------------------------------------------------------------------------------函数名称:Get_WorkingDays...
摘要由CSDN通过智能技术生成

查出任一年月所含的工作日CREATE OR REPLACE FUNCTION Get_WorkingDays(

ny IN VARCHAR2

) RETURN INTEGER IS

/*------------------------------------------------------------------------------------------函数名称: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,所得即为工作日数目。-------------------------------------------------------------------------------------------------*/

Result INTEGER;

BEGIN

SELECT COUNT(*) INTO Result

FROM (SELECT MOD(MOD(q.rq-to_date('2001-12-30','yyyy-mm-dd'),7),7) weekday

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值