MySQL 中不區分大小寫的搜尋
本文探討了MySQL 在具有utf8_SQLral_ci 編碼和MyISAM 儲存引擎的表中使用LIKE 運算符進行查詢的問題導致搜尋區分大小寫。
要解決此問題,有兩種建議的解決方案:
1.使用二進位字串:
透過將BINARY 關鍵字附加到LIKE 運算符,可以實現不區分大小寫的搜尋:
SELECT .... FROM .... WHERE `concatenated` LIKE BINARY '%SearchTerm%';
這種方法比其他方法表現更好,因為它強制使用二進製字串比較,使其更有效率。
2.使用COLLATE:
或者,COLLATE 關鍵字可用於指定特定的排序規則:
SELECT .... FROM .... WHERE `concatenated` like '%SearchTerm%' COLLATE utf8_bin;
透過使用utf8_bin 排序規則,強制執行不區分大小寫的比較。雖然此方法提供了更大的靈活性,但與二進位字串方法相比,它可能會對效能產生輕微影響。
以上是為什麼 MySQL 中使用 LIKE 運算子和 utf8_general_ci 編碼進行不區分大小寫搜尋時區分大小寫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!