参数问题

sum(case when  year(achievement_date) <>2023 and achievement_date <= 'yeardelta('${end_date}',-2)'  then contract_product else 0 end)请问这样写有没有问题,对于这个end_date参数

FineReport 帆软不知名用户 发布于 2023-8-7 09:56 (编辑于 2023-8-7 10:01)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-8-7 09:56(编辑于 2023-8-7 10:02)

把"++"去掉,这种写法是在if中拼接,在sql中用参数直接'${参数}'

sum(case when  year(achievement_date) <>2023 and achievement_date <= '${end_date}'  then contract_product else 0 end)

修改

sum(case when  year(achievement_date) <>2023 and achievement_date <= '${yeardelta(end_date,-2)}' then contract_product else 0 end)

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-8-7 09:56(编辑于 2023-8-7 09:58)

仅从这儿看 没问题

-------------

我猜你前面还有if判断

if(len(end_date)==0,"sum(contract_product)","sum(case when  year(achievement_date) <>2023 and achievement_date <= '"+end_date+"'  then contract_product else 0 end)") from ........

  • 2关注人数
  • 145浏览人数
  • 最后回答于:2023-8-7 10:02
    请选择关闭问题的原因
    确定 取消
    返回顶部