簡體   English   中英

MySQL Like 語句默認不區分大小寫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM