问题示例:
SELECT * FROM `table`
WHERE `content`
RLIKE "[[:<:]]didnt[[:>:]]"
问题是,当我搜索“didnt”之类的内容时,找不到“没有”(带撇号)的列。如果我要搜索“没有”,则找不到带有“didnt”(没有撇号)的列。
我需要进行哪些更改才能忽略撇号,逗号,连字符等,并且无论是否存在撇号都会给出结果。
答案 0 :(得分:0)
为什么不尝试使用|options
SELECT * FROM table
WHERE
(content RLIKE "[[:<:]]didnt[[:>:]]|[[:<:]]didn't[[:>:]]|[[:<:]]didn..t[[:>:]]|ETC)"
答案 1 :(得分:0)
您可以使用嵌套替换函数:
SELECT *
FROM `table`
WHERE
replace(replace(replace(`content`, '\'', ''), ',', ''), '-', '')
RLIKE "[[:<:]]didnt[[:>:]]"