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)

更新日期:2020 年 2 月 17 日

570 次浏览

启动您的 事业

完成课程后获得认证

入门
广告