获取上个月的天数

20221205-110104.png

FineReport 用户G2632943 发布于 2022-12-5 10:50 (编辑于 2022-12-8 17:50)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2022-12-5 10:52(编辑于 2022-12-5 11:19)

day(DATEINMONTH(today(),-1))  本月

day(DATEINMONTH(MONTHDELTA(today(),-1),-1))   上月

select 

   sum(r.ACCEPT_TWO_VOL) yhj,---月合计

   sum(r.ACCEPT_TWO_VOL)/${day(DATEINMONTH(MONTHDELTA(reportDate,-1),-1))} rj

  from PC_BSQ_MAIN_LINE_S_SHIFT r

 where  r.org_id = '${org_id}' 

  and to_char(r.PROD_DATE, 'yyyy-mm') ='${format(MONTHDELTA(reportDate,-1) ,'yyyy-MM')}'

  

group by to_char(r.PROD_DATE, 'yyyy-mm')

  • 用户G2632943 用户G2632943(提问者) 日期为参数,咋写。上面截图就是要除的上月天数,咋改写
    2022-12-05 11:10 
  • 用户k6280494 用户k6280494 回复 用户G2632943(提问者) 改了
    2022-12-05 11:19 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-12-5 10:52(编辑于 2022-12-5 11:03)

day(ENDOFMONTH(today(),-1))

image.png

---------------修改后的语句如下,放在你的查询里面--------------

${day(ENDOFMONTH(日期参数,-1))}

  • 用户G2632943 用户G2632943(提问者) 日期用参数定义的,咋写
    2022-12-05 11:02 
  • CD20160914 CD20160914 回复 用户G2632943(提问者) 看上面修改的语句
    2022-12-05 11:02 
  • CD20160914 CD20160914 回复 用户G2632943(提问者) 上面更新的语句,你放在你红色方框的位置。。然后把参数名称改成你自己的reportDate 就行了
    2022-12-05 11:04 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-12-5 11:10(编辑于 2022-12-5 11:11)

直接把第一个 reportDate 换成 day(DATEINMONTH(MONTHDELTA(reportDate ,-1),-1))

  • 用户G2632943 用户G2632943(提问者) 这样? to_char(last_day(to_date(\'${ day(DATEINMONTH(MONTHDELTA(reportDate ,-1),-1))}\',\'yyyy-mm-dd\')),\'dd\') rj
    2022-12-05 11:18 
  • Z4u3z1 Z4u3z1 回复 用户G2632943(提问者) 抱歉 错了 你SQL上或取了day to_char(last_day(to_date(\'${reportDate}\',\'yyyy-mm-dd\')),\'dd\') 改成 to_char(last_day(to_date(\'${DATEINMONTH(MONTHDELTA(reportDate ,-1),-1)}\',\'yyyy-mm-dd\')),\'dd\')
    2022-12-05 11:20 
  • 3关注人数
  • 319浏览人数
  • 最后回答于:2022-12-8 17:50
    请选择关闭问题的原因
    确定 取消
    返回顶部