如果我有一个表files
并且它有一个列title
,并且某些标题采用以下格式:
google: and facebook
stack: overflow
现在我尝试在我的应用中添加搜索功能,该搜索功能会执行LIKE '%word%'
查询。但是,如果人们搜索google and facebook
它没有找到任何内容,除非他们专门搜索google: and facebook
。
我知道LIKE
做了什么以及为什么它没有给出我正在寻找的结果,我只是想知道是否有在mysql表中搜索并忽略特殊的方法比如: ' - . , "
等等。
感谢。
答案 0 :(得分:1)
比较前使用REPLACE功能。
... REPLACE( fieldname, ':', '') LIKE %word%
答案 1 :(得分:0)
您可以使用正则表达式
答案 2 :(得分:0)
替代方法是将搜索字符串中的所有空格替换为'%',或者将搜索字符串(空格作为分隔符)展开,并使用OR语句连接不同的部分。