Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Công dụng của từ khóa BINARY trong MySQL khi so sánh chuỗi


Khi MySQL so sánh chuỗi, mặc định không phân biệt chữ hoa/thường. Nhưng với từ khóa BINARY, MySQL thực hiện so sánh chuỗi phân biệt chữ hoa/thường. BINARY hướng dẫn MySQL so sánh ký tự dùng giá trị ASCII thay vì chỉ so sánh chữ cái. Minh họa với bảng 'Student_info':

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 dùng BINARY để ép so sánh phân biệt chữ hoa/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)

Kết quả cho thấy sau khi dùng BINARY, MySQL so sánh phân biệt chữ hoa/thường ('GAURAV' khác 'Gaurav').