[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