当关键字用双引号引起来时,MYSQL REGEXP 不起作用

标签 mysql sql regex collation

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

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

我看到在数据库中关键字保存为:“keyword”

列属性为 LONGTEXT latin1_swedish_ci。

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

最佳答案

您的问题是数据库中的数据不正确,而不是查询。 “keyword”不是“keyword”,将“”改为普通的引号,就可以了。看 fiddle :

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

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

关于当关键字用双引号引起来时,MYSQL REGEXP 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16913617/

相关文章:

mysql - 为每个组合选择第一行

python - SQL 到 SQLAlchemy 的翻译

Mysql确定是否更新找到行,即使没有改变

sql - 使用 vb.net 在 SQL 中保存日期

java - 为什么空正则表达式和空捕获组正则表达式返回字符串长度加一结果

PHP MYSQL 防止用户或电子邮件插入两次

mysql - Node.JS:使用 alasql 将数据从 mysql 导出到 excel

mysql - 以下 sql 命令出错,即错误 1005 : Can't create table (errno: 150)

regex - 在学习正则表达式时混合字符串解析可以吗?

java - 用唯一替换替换字符串中的所有实例