我很困惑.我在数据库中有一个源字符串;一些HTML:

"body": "<html><head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body><div dir=\"auto\">Nope no attachment</div><br><div class=\"gmail_quote\"><div dir=\"ltr\" class=\"gmail_attr\">

以下是 Select :

SELECT * FROM table1 WHERE column_details REGEXP '(nope.no).attach';

当我用REGEXP(不,不) Select 这个时.附加"它不匹配".当我大写"否"时,它匹配.当我使用LCASE(column_details)并返回小写nope时,它匹配.这是怎么回事?我的理解是REGEXP不区分大小写,据我所知,我并没有强制使用二进制模式...还是默认为二进制?如果是这样,我如何使其不区分大小写并禁用二进制模式匹配?

谢谢

推荐答案

并不是说REGEXP不区分大小写.这取决于列的排序规则.REGEXP可以区分大小写,也可以不区分大小写.

mysql> set @h = '<html><head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head><body><div dir=\"auto\">Nope no attachment</div><br><div class=\"gmail_quote\"><div dir=\"ltr\" class=\"gmail_attr\">';
Query OK, 0 rows affected (0.00 sec)

mysql> select @h regexp '(nope.no).attach';
+------------------------------+
| @h regexp '(nope.no).attach' |
+------------------------------+
|                            1 |
+------------------------------+
1 row in set (0.00 sec)

mysql> select @h collate utf8mb4_bin regexp '(nope.no).attach';
+--------------------------------------------------+
| @h collate utf8mb4_bin regexp '(nope.no).attach' |
+--------------------------------------------------+
|                                                0 |
+--------------------------------------------------+

我会判断你专栏的排序:

SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table1' AND COLUMN_NAME = 'column_details';

Mysql相关问答推荐

MYSQL子查询

无条件理解MySQL中内连接和交叉连接的相似性

如何防止程序中计数器出错

MySQL嵌套的内连接使查询变得很慢-解决方案?

含有子查询的MySQL函数出现语法错误

无法连接到扩展坞MySQL Unix套接字

使用不同的 where 列进行子 Select

将 GORM 与自定义连接表和外键结合使用

Mysql,从两个不同的表中添加原始数据,从第一个表中获取所有内容,仅从第二个表中获取curdate内容

Mysql - 按周分组但从 1 开始计数

在 MySQL 中,如何对 LIKE 查询进行批量更新,删除字符?

时间戳上滚动窗口的 SQL 计数不同

任何值的 SQL WHERE 子句?

有没有比使用 MySQL 计划事件更好的方法来更新我的数据库表中的列?

Mysql,显示谁已经和没有 Select 退出巴士服务

DECIMAL(m, n) 在 64 位系统中如何表示?

为什么 ORDER BY 'id' 'desc' 不返回语法错误?

终止空闲的mysql连接

在osx的命令行中使用Mysql-找不到命令?

在 Ubuntu 上安装 mysql gem 的困难