【问题标题】:MYSQL REGEXP not working when keyword is enclosed in double quotes当关键字用双引号引起来时,MYSQL REGEXP 不起作用
【发布时间】:2013-05-30 14:24:15
【问题描述】:

如果 mytable.text 的关键字为“关键字”(带引号),则正则表达式无法找到它。

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

我看到在 DB 中,关键字被保存为:“keyword”

列属性为 LONGTEXT latin1_swedish_ci。

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

【问题讨论】:

  • 您是否尝试将排序规则更改为 utf8 ?
  • 安全吗?现场制作数据库在这里..

标签: mysql sql regex collation


【解决方案1】:

您的问题是数据库中的数据不正确,而不是查询。 “keyword”不是“keyword”,把““”改成普通的引号,就可以了。看小提琴:

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

从数据库中选择不带引号和带引号的两条记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多