Computer >> Máy Tính >  >> Lập trình >> MySQL

MySQL có thể thực hiện so sánh chuỗi phân biệt chữ hoa chữ thường như thế nào?


Như chúng ta biết rằng MySQL không phân biệt chữ hoa chữ thường khi so sánh các ký tự nhưng nó có thể được thay đổi, tức là MySQL có thể thực hiện so sánh chuỗi phân biệt chữ hoa chữ thường nếu chúng ta sử dụng từ khóa BINARY trước biểu thức. Trên thực tế, từ khóa BINARY hướng dẫn MySQL so sánh các ký tự trong chuỗi bằng cách sử dụng các giá trị ASCII cơ bản của chúng thay vì chỉ các chữ cái của chúng. Nó có thể được minh họa bằng ví dụ sau từ bảng ‘Nhân viên’ có dữ liệu sau -

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)

Truy vấn bên dưới sẽ sử dụng từ khóa BINARY để buộc MySQL thực hiện so sánh chuỗi phân biệt chữ hoa chữ thường.

mysql> Select * from Employee WHERE BINARY Name IN ('Gaurav','RAM');
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
+----+--------+--------+
1 row in set (0.00 sec)