2013-06-04 40 views
0

如果mytable.text的关键字是“keyword”(带引号),则正则表达式无法找到它。当关键字用双引号括起来时,MYSQL REGEXP不起作用

SELECT * 
FROM `mytable` 
WHERE `mytable`.`Text` 
REGEXP CONCAT('[[:<:]]', 'keyword', '[[:>:]]')) 

我看到,在DB的关键字保存为:①€œkeywordâ€

列属性是LONGTEXT latin1_swedish_ci。

我希望能够使用单词边界,但双引号除外。

+0

您是否尝试将排序规则更改为utf8? – Stephan

+0

是否安全?实况制作DB在这里.. – Honesta

回答

0

您的问题是数据库中的数据不正确,而不是查询。 “关键字”不是“关键字”,将“'换成普通的引用符号,它就会起作用。看看小提琴:

http://www.sqlfiddle.com/#!2/674b3/1

两个记录:无报价与报价从数据库中选择。