Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ประโยชน์ของคีย์เวิร์ด BINARY ใน MySQL ขณะเปรียบเทียบสตริง

เมื่อ MySQL เปรียบเทียบสตริง จะไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ (case-insensitive) แต่ด้วยคีย์เวิร์ด BINARY MySQL สามารถเปรียบเทียบสตริงแบบคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ (case-sensitive) ได้ เพราะ BINARY สั่งให้ MySQL เปรียบเทียบตัวอักษรในสตริงโดยใช้ค่า ASCII แทนที่จะเปรียบเทียบแค่ตัวอักษร สาธิตได้จากตัวอย่างตาราง '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)

คิวรีด้านล่างใช้คีย์เวิร์ด BINARY เพื่อบังคับให้ MySQL เปรียบเทียบสตริงแบบ case-sensitive:

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)

จากชุดผลลัพธ์ ชัดเจนว่าหลังใช้คีย์เวิร์ด BINARY MySQL เปรียบเทียบสตริงแบบ case-sensitive