文本框模糊查询控件sql数据缺失

image.png

yzmPDkCi1173652 发布于 2022-5-11 11:15
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
CD20160914Lv8专家互助
发布于2022-5-11 11:17(编辑于 2022-5-11 11:21)

你的所有参数要录入完整。才会有数据。。。

你把参数录入进去,,看它生成的sql是如何的。。再到数据库去执行就知道了

不然就用if判断一下如果参数为空。就不限制这个条件

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

image.png

  • yzmPDkCi1173652 yzmPDkCi1173652(提问者) ${if(len(myname)=0,\"\",\"and cc like \'%\"+myname +\"%\'\")}这个放到sql中报错哎
    2022-05-11 11:42 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-5-11 11:15

怎么个缺失法?

  • yzmPDkCi1173652 yzmPDkCi1173652(提问者) 就是like \'%${xxx}%\',不传参数,查询结果比不写模糊查询少
    2022-05-11 11:19 
  • Z4u3z1 Z4u3z1 回复 yzmPDkCi1173652(提问者) 肯定瑟。参数为空时是like \'%%\' 这个查不出NULL字段的。 例如 SELECT * FROM A 与SELECT * FROM A WHERE CHAR LIKE \'%%\';当char里面值有NULL的时候这两个SQL是不等价的
    2022-05-11 11:23 
最佳回答
0
重庆一棵草Lv4中级互助
发布于2022-5-11 11:19(编辑于 2022-5-11 11:21)

你这个写法。有一个参数没有值 都会查出来为空的,。用这个写法。判断一下空值

${if(参数="", "", "and 数据库字段 like ('%"+replace(replace(参数,"'","")," ","%")+"%')")}

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