不同字段使用同一参数进行模糊查询

比如共有3个字段,aa  ,  bb  ,  cc

我想用一个参数xxx对这3个字段进行模糊查询

SELECT * FROM   test1  where 1=1

 ${if(len(xxx) == 0,"","and aa like '%" + xxx + "%'")}

 and 1=1

  ${if(len(xxx) == 0,"","and bb like '%" + xxx + "%'")}

  and 1=1

    ${if(len(xxx) == 0,"","and cc like '%" + xxx + "%'")}  

测试发现这样写,一条数据也查不出来,是哪里写错了吗

FineReport 浮一 发布于 2022-11-21 16:52
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
weibwLv7高级互助
发布于2022-11-21 16:54

SELECT * FROM   test1  where 1=1

 ${if(len(xxx) == 0,"","and (aa like '%" + xxx + "%' or bb like '%"+xxx+"%' or cc like '%"+xxx+"%')")}

最佳回答
0
snrtuemcLv8专家互助
发布于2022-11-21 16:54

SELECT * FROM   test1  where 1=1

 ${if(len(xxx) == 0,"","or aa like '%" + xxx + "%'")}

  ${if(len(xxx) == 0,"","or bb like '%" + xxx + "%'")}

    ${if(len(xxx) == 0,"","or cc like '%" + xxx + "%'")}  

  • 浮一 浮一(提问者) 你这个在查询框无论输入什么,都能查出所有数据,应该不是答案
    2022-11-21 16:59 
最佳回答
0
LTC朝Lv6高级互助
发布于2022-11-21 16:55

and  换成 or  试试

  • 4关注人数
  • 253浏览人数
  • 最后回答于:2022-11-21 16:55
    请选择关闭问题的原因
    确定 取消
    返回顶部