[SQL ] MySQL unicode LIKE 比對 % 結果不正確?

看板Database (資料庫)作者 (京)時間7年前 (2017/07/06 22:05), 7年前編輯推噓0(009)
留言9則, 2人參與, 最新討論串1/1
資料庫名稱: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 '%\%'; +------------------+ | '\%b' LIKE '%\%' | +------------------+ | 1 | +------------------+ 1 row in set (0.00 sec) mysql> SET collation_connection = utf8_general_ci; Query OK, 0 rows affected (0.00 sec) mysql> SELECT '\%b' LIKE '%\%'; +------------------+ | '\%b' LIKE '%\%' | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec) mysql> SET collation_connection = utf8mb4_unicode_ci; Query OK, 0 rows affected (0.00 sec) mysql> SELECT '\%b' LIKE '%\%'; +------------------+ | '\%b' LIKE '%\%' | +------------------+ | 1 | +------------------+ 1 row in set (0.00 sec) mysql> SET collation_connection = utf8mb4_general_ci; Query OK, 0 rows affected (0.00 sec) mysql> SELECT '\%b' LIKE '%\%'; +------------------+ | '\%b' LIKE '%\%' | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec) mysql> SET collation_connection = utf8mb4_unicode_520_ci; Query OK, 0 rows affected (0.00 sec) mysql> SELECT '\%b' LIKE '%\%'; +------------------+ | '\%b' LIKE '%\%' | +------------------+ | 1 | +------------------+ 1 row in set (0.00 sec) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.166.147.230 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1499349910.A.9F3.html ※ 編輯: VdustR (140.116.247.215), 07/07/2017 09:14:23

07/12 09:03, , 1F

07/14 14:55, , 2F
我有找到這篇 怎麼從 2014 到現在都還這樣 QQ
07/14 14:55, 2F

07/14 15:01, , 3F
我目前也是用 collate utf8_general_ci 解決 謝謝你
07/14 15:01, 3F

07/17 08:56, , 4F
如果你真的很期望有修改,可以發個 issue 看看
07/17 08:56, 4F

07/17 18:58, , 5F
我有發一個 issue 在 mariadb
07/17 18:58, 5F


07/17 18:59, , 7F
你也可以追蹤看看結果
07/17 18:59, 7F

07/17 22:43, , 8F
好的!謝謝你!!
07/17 22:43, 8F

06/17 22:23, , 9F
mysql 回報修好囉! http://tinyurl.com/yddtwyde
06/17 22:23, 9F
文章代碼(AID): #1PNaEMdp (Database)
文章代碼(AID): #1PNaEMdp (Database)