下拉复选框sql参数应该怎么写

原始sql:

image.png

查询多个月份:

只能选择1个月份的时候有值,查询多个月份就为空值了

image.pngimage.png

看了下sql运行发现:

参数少了引号

image.png

但是返回值已经选了字符串:

image.png

请问下要怎么解决,怎么才能让多选的参数前后都带上双引号

FineReport yzmnts5e2849120 发布于 2023-6-29 16:14
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-6-29 16:16(编辑于 2023-6-29 16:47)

这个改成 单引号

image.png

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

或者上面的起始符  结束符不设置

SELECT * FROM TABLE WHERE 1=1 ${LEN(控件名)==0,""," and 字段 IN ('"+控件名+"')"}

  • yzmnts5e2849120 yzmnts5e2849120(提问者) 设置单引号也不行, 用SELECT * FROM TABLE WHERE 1=1 ${LEN(控件名)==0,\"\",\" and 字段 IN (\'\"+控件名+\"\')\"}这个下拉框选几个月数值都没变化
    2023-06-29 16:25 
  • Z4u3z1 Z4u3z1 回复 yzmnts5e2849120(提问者) 分隔符的问题。补充在上面了
    2023-06-29 16:48 
最佳回答
0
runnerLv7资深互助
发布于2023-6-29 16:32(编辑于 2023-6-29 16:33)

image.png

and 1=1 ${if(len(j_item) == 0 , "" , " and item_name_j in ('" + j_item + "') ")}

最佳回答
0
yoggaLv6见习互助
发布于2023-6-29 18:37

where ${if(len(p_step)=0,"1=1","t.step_name in ('"+p_step+"')")}image.png

  • 3关注人数
  • 254浏览人数
  • 最后回答于:2023-6-29 18:37
    请选择关闭问题的原因
    确定 取消
    返回顶部