[SQL ] MySQL unicode LIKE 比对 % 结果不正确?

楼主: VdustR (京)   2017-07-06 22:05:08
数据库名称:MySQL
数据库版本:5.7.18
内容/问题描述:
> SELECT '\%b' LIKE '%\%'
这个语法在不同的 collation 结果不相同。
utf8_unicode_ci 结果为 1
utf8_general_ci 结果为 0
第一个 % 是 wildcard, 后面的 \% 视为 % 字符,这样结果应该是 0 才正确吧?
请问为什么使用 unicode 的时候结果会是 1 呢?
我用 cli 执行的结果如下:
mysql> SET collation_connection = utf8_unicode_ci;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT '\%b' LIKE '%\%';
+
楼主: VdustR (京)   2017-07-14 14:55:00
我有找到这篇 怎么从 2014 到现在都还这样 QQ我目前也是用 collate utf8_general_ci 解决 谢谢你
作者: retsamsu   2017-07-17 08:56:00
如果你真的很期望有修改,可以发个 issue 看看我有发一个 issue 在 mariadbhttps://jira.mariadb.org/browse/MDEV-13335你也可以追踪看看结果
楼主: VdustR (京)   2017-07-17 22:43:00
好的!谢谢你!!

Links booklink

Contact Us: admin [ a t ] ucptt.com