今天在调试前台页面查询的时候发现个奇怪的问题:
1 查询"_"的时候会查询出所有数据,数据库语句:select * from platform_user_user t where t.login_name like '%_%'
解决办法:将语句改为:select * from platform_user_user t where t.login_name like '%\_%' escape '\'
2 由于在语句中存在%,于是笔者又检验了一下%,结果也是所有数据都查询出来了
解决办法:对于这个问题,Google是处理了“_”,但是不处理"%"
总结:对输入语句做判断,如果为“_”,将查询语句加上 '%\_%' escape '\',否则保持原样。
本文探讨了在SQL查询中使用通配符"_"和"%"时遇到的问题,并提供了相应的解决方案。当查询条件包含这些特殊字符时,可能会导致意外的结果。文章介绍了如何通过转义字符正确地使用通配符来避免此类问题。

2801

被折叠的 条评论
为什么被折叠?



