MySQL語句在比較大小寫上有一些需要注意的地方。在MySQL中,大小寫敏感是指在字符比較時(shí),大寫和小寫字母是不同的。而大小寫不敏感則是指在字符比較時(shí),大寫和小寫字母是相同的。
在MySQL中,大小寫敏感和是否使用BINARY有關(guān)。當(dāng)以下兩種情況之一成立時(shí),MySQL大小寫敏感:
1.使用 字符集COLLATE utf8mb4_bin; 2.使用 BINARY操作符。
例如:
SELECT * from mytable WHERE username='Tom' COLLATE utf8mb4_bin; SELECT * FROM mytable WHERE binary username='Tom';
以上兩種情況會(huì)區(qū)分大小寫,只會(huì)匹配 'Tom',而不會(huì)匹配 'tom'。
而以下兩種情況則會(huì)大小寫不敏感:
1.使用 默認(rèn)字符集COLLATE utf8mb4_general_ci 或 COLLATE utf8mb4_unicode_ci; 2.使用LIKE操作符,但沒有使用BINARY。
例如:
SELECT * FROM mytable WHERE username='Tom' COLLATE utf8mb4_general_ci; SELECT * FROM mytable WHERE username LIKE 'tom%';
以上兩種情況會(huì)忽略字母大小寫,會(huì)匹配 'Tom'、'tom'、'ToM' 等。
總之,在MySQL中比較大小寫時(shí),要根據(jù)需求選擇合適的 COLLATE 和操作符,以保證查詢結(jié)果符合預(yù)期。