【发布时间】:2018-12-30 12:32:54
【问题描述】:
我有一个带有如下 SQL 查询的搜索模块:
SELECT FROM trilers WHERE title '%something%'
当我搜索诸如“spiderman”之类的关键字时,它返回未找到,但是当我搜索“spider-man”时,它返回我的内容(MySQL 中的原始行是“spider-man”)。
如何忽略-、#、!、: 等所有符号并同时返回包含“spiderman”和“spider-man”关键字的内容?
【问题讨论】:
-
您正在寻找正则表达式搜索。
-
在您的表格中添加一个没有符号的列,然后搜索它。否则使用 REGEXP 但它很慢。
-
在 INSERT/UPDATE 之前清理数据是解决方案的一半。 (通常使用触发器完成。)
-
这是一个有趣的问题。哪种方式对数据库的资源更好?制作 tmp 结果集并操作结果还是在客户端进行?
-
也许有比添加另一列更简单的方法?