获取一段时间算出工作日(剔除周六日)

我利用

select 项目开始日期 ,项目结束 from 表 的oracle的语句写法,

想计算出 (项目结束 - 项目开始日期-周六周日)X8=工作时间

或者除了写语句,大家用帆软报表有什么办法可以解决这个问题吗?

FineReport MichelleMak 发布于 2019-4-9 10:10 (编辑于 2019-4-9 10:16)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
KevinGaoLv2初级互助
发布于2019-4-9 11:08

select COUNT(daylist)
  from (
       
        SELECT TO_CHAR(TO_DATE('2019-03-01', 'yyyy-MM-dd') + ROWNUM - 1,
                       'yyyyMMdd') as daylist
          FROM DUAL
        CONNECT BY ROWNUM <=
                   trunc(to_date('2019-03-31', 'yyyy-MM-dd') -
                         to_date('2019-03-01', 'yyyy-MM-dd')) + 1
        
         )
         where to_char(to_date(daylist, 'YYYYMMDD'), 'd') not in ('1', '7')



你参考看看

最佳回答
0
flyingsnakeLv6资深互助
发布于2019-4-9 10:13(编辑于 2019-4-9 10:38)

DATESUBDATE(date1, date2, op):返回两个日期之间的时间差。

op表示返回的时间单位:

"s",以秒为单位。

"m",以分钟为单位。

"h",以小时为单位。

"d",以天为单位。

"w",以周为单位。

示例:

DATESUBDATE("2008-08-08", "2008-06-06","h")等于1512。



帆软自己有计算函数的




给你例子吧:

WorkBook245.cpt


image.png


image.png

  • MichelleMak MichelleMak(提问者) 这个返回的日期里面是包含着工作日啊,我想把周六日剔除
    2019-04-09 10:15 
  • flyingsnake flyingsnake 回复 MichelleMak(提问者) 我重新编辑了。
    2019-04-09 10:30 
  • flyingsnake flyingsnake 回复 MichelleMak(提问者) 有些错误,稍等
    2019-04-09 10:32 
  • flyingsnake flyingsnake 回复 MichelleMak(提问者) 可以了。去看吧
    2019-04-09 10:38 
  • yzm133761 yzm133761 怎么剔除周六周日,请教你一下,急!!!
    2021-05-06 16:10 
最佳回答
0
yzm133761Lv2见习互助
发布于2021-5-6 16:02

你好,请教一下怎么解决的可以告诉我吗,急!!!

  • 用户p9061960 用户p9061960 只剔除周末还是所有法定节假日剔除算工作周期
    2021-05-06 16:17 
  • yzm133761 yzm133761 回复 用户p9061960 剔除周末+剔除所有法定节假日
    2021-05-06 16:23 
  • 用户p9061960 用户p9061960 回复 yzm133761 有个插件,详细看这篇问答https://bbs.fanruan.com/wenda/question/71408.html?f=search
    2021-05-06 16:27 
  • 用户p9061960 用户p9061960 回复 yzm133761 但要注意这里的工作日判断前面的日期要小于或等于后面的日期,如果大于会报错对应的负天数,同时这里周期不算末尾,我是这么写的你可以验证一下 switch(TRUE, LEN(O4) > 0 && L4 > O4, \'日期有误\', LEN(O4) > 0, ChineseWorkdays(L4, DATEDELTA(O4, 1)), TRUE, \"日期缺失\")
    2021-05-06 16:29 
  • 用户p9061960 用户p9061960 回复 yzm133761 ChineseWorkdays(L4, DATEDELTA(O4, 1))是因为默认没有算结尾的那天,我这样就全包括计算了
    2021-05-06 16:33 
  • 4关注人数
  • 1406浏览人数
  • 最后回答于:2021-5-6 16:02
    请选择关闭问题的原因
    确定 取消
    返回顶部