数据集where后面用if传参报错

数据集代码:

image.png报错信息:

image.png

FineReport YANGNAN 发布于 2023-8-31 12:58
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-8-31 13:21

','

image.png

最佳回答
0
runnerLv7资深互助
发布于2023-8-31 13:04(编辑于 2023-8-31 13:06)

image.png

and后面where 把sql粘贴出来呗

----------

image.png

替换了参数,然后看一下sql比较好找到问题

  • YANGNAN YANGNAN(提问者) where 1=1 and b.BUCODE = \'0000100002\' ${if(len(p_hj)==0,\"\",\" AND lvcode3 in (\'\"+p_hj+\"\') \")} ${if(len(p_nxwx)==0,\"\",\" AND lvcode2 in (\'\"+p_nxwx+\"\') \")} ${if(len(p_xj)==0,\"\",\" AND lvcode4 in (\'\"+p_xj+\"\') \")} ${if(len(p_xsz)==0,\"\",\" AND a.saleteamcode in (\'\"+p_xsz+\"\') \")}
    2023-08-31 13:09 
  • YANGNAN YANGNAN(提问者) 替换参数执行:lvcode3 in (\'200,300\') 参数里面少符号,在哪里添加呢
    2023-08-31 13:15 
最佳回答
0
用户bBKn44909079Lv3见习互助
发布于2023-8-31 13:10

在数据库执行了吗,有没有问题

  • YANGNAN YANGNAN(提问者) 其中一个参数显示:lvcode3 in (\'200,300\') 应该是lvcode3 in (\'200\',\'300\') 缺失的引号如何添加呢
    2023-08-31 13:16 
  • 用户bBKn44909079 用户bBKn44909079 回复 YANGNAN(提问者) 你先在数据库里面替换执行一下,如果数据库里面没问题,一般就没问题
    2023-08-31 13:18 
  • YANGNAN YANGNAN(提问者) 回复 用户bBKn44909079 数据库里没法用$if语法
    2023-08-31 13:19 
  • 用户bBKn44909079 用户bBKn44909079 回复 YANGNAN(提问者) 替换掉,用数据库的写法
    2023-08-31 13:20 
  • 用户bBKn44909079 用户bBKn44909079 回复 YANGNAN(提问者) 测试过吗,是if的问题还是整个语句有问题
    2023-08-31 13:21 
  • 4关注人数
  • 232浏览人数
  • 最后回答于:2023-8-31 13:21
    请选择关闭问题的原因
    确定 取消
    返回顶部