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

MySQL สามารถทำการเปรียบเทียบสตริงที่คำนึงถึงขนาดตัวพิมพ์ได้อย่างไร?


อย่างที่เราทราบดีว่า MySQL ไม่คำนึงถึงขนาดตัวพิมพ์ขณะเปรียบเทียบอักขระ แต่สามารถเปลี่ยนได้ เช่น MySQL สามารถทำการเปรียบเทียบสตริงที่คำนึงถึงขนาดตัวพิมพ์ ถ้าเราจะใช้คีย์เวิร์ด BINARY ก่อนนิพจน์ ที่จริงแล้ว คีย์เวิร์ด BINARY สั่งให้ MySQL เปรียบเทียบอักขระในสตริงโดยใช้ค่า ASCII พื้นฐาน แทนที่จะเป็นแค่ตัวอักษร สามารถอธิบายได้ด้วยตัวอย่างต่อไปนี้จากตาราง 'พนักงาน' ที่มีข้อมูลดังต่อไปนี้ -

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)