多列的模糊查询怎么写的?

AND 1=1 ${if(len(queryName)=0,"","and bb.c_fundcode like ('%"+queryName+"%')

or bb.c_fundname like ('%"+queryName+"%')

")}

这样为什么行不通

FineReport 包继开 发布于 2020-6-29 16:48
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
LSQ000Lv5中级互助
发布于2020-6-29 16:58(编辑于 2020-6-29 17:11)

like后面为什么要加括号
image.png


  • 包继开 包继开(提问者) 加不加都一样
    2020-06-29 17:02 
  • LSQ000 LSQ000 回复 包继开(提问者) 我测试的是正确的,不知道你那里是什么问题,报错还是查不出数据还是什么
    2020-06-29 17:12 
  • 包继开 包继开(提问者) 我也在想这个问题,之前也是这么写是可以行的通的,现在这么写,只能模糊查询一个,两个就不行
    2020-06-29 17:13 
  • LSQ000 LSQ000 回复 包继开(提问者) 你可以把sql拿出来在sql工具上查一下看看结果是不是一致的
    2020-06-29 17:15 
  • 包继开 包继开(提问者) 回复 LSQ000 我外面套了个子查询过了
    2020-06-29 17:27 
最佳回答
0
shirokoLv6资深互助
发布于2020-6-29 17:04

1=1  and like1 or like2

这显然不行吧

1=1  and (like1 or like2)

最佳回答
0
TheShyLv4初级互助
发布于2020-6-29 17:10(编辑于 2020-6-29 17:19)
AND 1=1 
${if(len(queryName)==0,""," and bb.c_fundcode like '%"+ queryName +"%' or bb.c_fundname like '%"+ queryName +"%'")}


最佳回答
0
qhlLv6中级互助
发布于2020-6-29 17:21

文件-选项-高级-log日志级别-debug,看下日志里拼接的执行sql是不是你想要的,然后再在数据库执行一下,核对一下数据就行了,

其次如果是多个字段的or拼接且互相不影响查询结果,需要加上括号,类似and 1=1 and (字段1 like1 or

 字段2 like2 or ...)

image.png


  • 5关注人数
  • 1045浏览人数
  • 最后回答于:2020-6-29 17:21
    请选择关闭问题的原因
    确定 取消
    返回顶部