0

问题示例:

SELECT * FROM `table`
WHERE `content`
RLIKE "[[:<:]]didnt[[:>:]]"

问题是,当我搜索“didnt”之类的内容时,找不到带有“didnt”(带有撇号)的列。如果我要搜索“没有”,则找不到带有“没有”(没有撇号)的列。

我需要进行什么更改,以便它忽略撇号、逗号、连字符等,并且无论是否有/没有撇号都给出结果。

4

2 回答 2

0

你为什么不试试|options

SELECT * FROM table
WHERE 
(content RLIKE "[[:<:]]didnt[[:>:]]|[[:<:]]didn't[[:>:]]|[[:<:]]didn..t[[:>:]]|ETC)"

来源:http ://www.sqllines.com/mysql/regexp_rlike

于 2013-01-08T20:17:41.583 回答
0

您可以使用嵌套替换函数:

SELECT *
FROM `table`
WHERE
  replace(replace(replace(`content`, '\'', ''), ',', ''), '-', '')
  RLIKE "[[:<:]]didnt[[:>:]]"
于 2013-01-08T23:03:40.020 回答