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

Việc sử dụng từ khóa BINARY của MySQL trong khi thực hiện so sánh chuỗi là gì?

Khi MySQL thực hiện so sánh chuỗi thì nó không phân biệt chữ hoa chữ thường nhưng với sự trợ giúp của từ khóa BINARY, MySQL có thể thực hiện so sánh chuỗi phân biệt chữ hoa chữ thường. Đó là vì 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 ‘Student_info’ có dữ liệu sau -

mysql> Select * from student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
+------+---------+------------+------------+
3 rows in set (0.00 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 student_info WHERE BINARY Name IN('YashPal', 'GAURAV');
+------+---------+----------+---------+
| id   | Name    | Address  | Subject |
+------+---------+----------+---------+
| 101  | YashPal | Amritsar | History |
+------+---------+----------+---------+
1 row in set (0.08 sec)

Từ tập kết quả trên, rõ ràng là sau khi sử dụng từ khóa BINARY, MySQL thực hiện so sánh chuỗi phân biệt chữ hoa chữ thường.