请教使用like模糊查询时,查询字串含有通配符(比如%),怎么处理? 如题,进行like模糊查询时,如果查询字串本身就含有一些通配符(比如%,-),我知道一个方法是使用 ESCAPE 转义。但是感觉通配符还挺多的吧,比如%,-,[],*等,要是在查询之前,使用正则表达式将查询字串含有的这些通配符都转义一次也挺麻烦的,不知道csdn高手们有没什么好的又比较方便的方法。比如MySql里的一些函数,试了下find_in_set也没得出正确的结果,高手帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如我想按新闻数据表的标题进行搜索,如果用户输入的标题XXX含有%,简单的进行like ‘%XXX%’模糊查询的话,结果就不对了~~~~ 加返斜线给特殊字符或通过正则表达式去搜索。 SELECT * FROM pet WHERE name REGEXP "xxx$"; 使用正则表达式,如果XXX也含有$不就也有问题了吗 鉴于此,建议做个函数,传入一字符串,对其中的特殊字符"%" "$" 等进行过滤,可以加一特殊字符辅表进行对照。函数返回一处理后的字符串,然后再 like concat('%',dbo.func(string),'%') 其它的也没有什么好办法了,全文索引大概满足不了你的需求,因为有特殊字符的存在。 mysql的分组统计? mysql 如何监控表结构修改 既要用LIKE 有要用等号 而且是或得关系 mysql4.1中如何创建一个函数 请高手指教:Can not issue data manipulation statement with executeQuery().我用的是MySQL4.1,mysql-connector-java-3.1.14,Tomcat5.0 求教mysql与jsp的连接问题 ? in的问题,MySQL的IN关键字与其它SQL的不同,怎么解决? 小妹请教,如何使用mysql中的lock table? 我并没有改密码,怎么进不去了mysql MYSQLSLAP性能测试--如何修改参数能实现插入1000条数据再查询? 关于MySql数据库数据类型(在线求答) 请问PostgreSQL定义表的字段长度的时候,如何指定是全角的还是半角的长度?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货