在MySQL中,LIKE運(yùn)算符用于模糊匹配字符串。但是,LIKE運(yùn)算符默認(rèn)是不區(qū)分大小寫的。也就是說,“hello”和“HELLO”都可以匹配。如果我們需要區(qū)分大小寫,需要用到兩個(gè)方法:
- 使用COLLATE關(guān)鍵字。
- 使用BINARY關(guān)鍵字。
1.使用COLLATE關(guān)鍵字
SELECT * FROM table WHERE column COLLATE utf8_bin LIKE '%HELLO%';
這里我們使用了COLLATE關(guān)鍵字,并指定了一個(gè)區(qū)分大小寫的字符集:utf8_bin。在這個(gè)字符集中,大小寫是有區(qū)別的,所以我們使用LIKE運(yùn)算符匹配的時(shí)候也會(huì)區(qū)分大小寫。
2.使用BINARY關(guān)鍵字
SELECT * FROM table WHERE BINARY column LIKE '%HELLO%';
BINARY關(guān)鍵字的作用是將字符串視作二進(jìn)制進(jìn)行比較。因?yàn)槎M(jìn)制是區(qū)分大小寫的,所以我們使用BINARY關(guān)鍵字匹配的時(shí)候也會(huì)區(qū)分大小寫。
總結(jié)
在MySQL中,LIKE運(yùn)算符默認(rèn)是不區(qū)分大小寫的。如果需要區(qū)分大小寫,可以使用COLLATE關(guān)鍵字或BINARY關(guān)鍵字進(jìn)行處理。