MySQL如何執行大小寫敏感的字串比較?
正如我們所知,MySQL 在比較字元時並不區分大小寫,但可以更改,即如果我們在表示式之前使用 BINARY 關鍵字,MySQL 可以執行區分大小寫的字串比較。實際上,BINARY 關鍵字指示 MySQL 根據字串中字元的底層 ASCII 值而非僅根據字元來比較字串中的字元。可以使用以下示例來說明,該示例來自表“Employee”(包含以下資料):
mysql> Select * from Employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | | 2 | Rahul | 20000 | | 3 | Advik | 25000 | | 4 | Aarav | 65000 | | 5 | Ram | 20000 | | 6 | Mohan | 30000 | | 7 | Aryan | NULL | | 8 | Vinay | NULL | +----+--------+--------+ 8 rows in set (0.09 sec)
下面的查詢將使用 BINARY 關鍵字強制 MySQL 執行區分大小寫的字串比較。
mysql> Select * from Employee WHERE BINARY Name IN ('Gaurav','RAM'); +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | +----+--------+--------+ 1 row in set (0.00 sec)
廣告