[英]MySQL Like statement not case-insensitive by default
據我所知,MySQL 中的 LIKE 語句默認情況下不區分大小寫,如此處所示。
就我而言,它們似乎不是,例如SELECT * FROM users WHERE CONCAT(name, ' ', surname) LIKE '%rob%'
不返回任何內容,而SELECT * FROM users WHERE CONCAT(name, ' ', surname) LIKE '%Rob%'
返回“name”列為“Robert”的記錄。
我希望SELECT * FROM users WHERE CONCAT(name, ' ', surname) LIKE '%rob%'
返回“name”列為“Robert”的記錄。
SELECT * FROM users WHERE LOWER(CONCAT(name, ' ', surname)) LIKE '%rob%'
據我所知,MySQL 中的 LIKE 語句默認情況下不區分大小寫,如此處所示。
本文中描述的信息不正確。 字符串操作中是否區分大小寫取決於排序規則。
MySQL 8.0 參考手冊/字符集、排序規則、Unicode 。
CREATE TABLE test (txt_ai_ci VARCHAR(255) COLLATE utf8mb4_0900_ai_ci, txt_as_cs VARCHAR(255) COLLATE utf8mb4_0900_as_cs); INSERT INTO test VALUES ('GREEN', 'GREEN'), ('Green', 'Green'), ('green', 'green');
SELECT txt_ai_ci, txt_ai_ci LIKE 'Gr%', txt_as_cs, txt_as_cs LIKE 'Gr%', txt_as_cs COLLATE utf8mb4_0900_ai_ci LIKE 'Gr%' FROM test
txt_ai_ci txt_ai_ci LIKE 'Gr%' txt_as_cs txt_as_cs LIKE 'Gr%' txt_as_cs 整理 utf8mb4_0900_ai_ci LIKE 'Gr%' 綠色 1 綠色 0 1 綠色的 1 綠色的 1 1 綠色 1 綠色 0 1
db<> 在這里擺弄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.