在FR中if条件嵌套,返回函数变量

请大佬帮忙解答

select oid, holder_user_id

from mid.mid_dim_boss_agent_clue

where create_time >= ${if(len(rpt_type) = 0, '"'+stardate+'"', 

if(rpt_type = 0, date_format(enddate,"%Y-%m-01"),'2020-08-26')

)} 

and create_time < "${datedelta(enddate,1)}"


红色字体部分返回当前月份的第一天;enddate为当前时间

具体逻辑为:当rpt_type 为空时,返回stardate,当rpt_type值为0时,返回当前日期所在月的第一天,否则返回后边的日期

FineReport 用户t5456090 发布于 2020-9-2 20:35
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
zsh331Lv8专家互助
发布于2020-9-2 21:03

日期转换是放在if里面执行,应该用format并非mysql中的data_format(),不要混为一谈。

format(enddate,"yyyy-MM-01")

最佳回答
0
用户a8068717Lv4初级互助
发布于2020-9-2 21:06
date(year(today()),month(today()),1)
最佳回答
0
用户M9089021Lv4见习互助
发布于2020-9-3 09:40

你到底想问什么??????

想获得某天时间的 那一个月第一天  DATEINMONTH("2008-08-08",1)

那一个月的最后一天                        DATEINMONTH("2008-08-08",-1)

你的应该是                                    DATEINMONTH(enddate,1)

  • 4关注人数
  • 432浏览人数
  • 最后回答于:2020-9-3 09:40
    请选择关闭问题的原因
    确定 取消
    返回顶部