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