MySQL 如何执行区分大小写的字符串比较?
mysqlmysqli database更新于 2023/11/11 22:03:00
众所周知,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 行在集合中(0.09 秒)
以下查询将使用 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)