ใช้ฟังก์ชัน BINARY UPPER() เพื่อหาสตริงที่เป็นตัวพิมพ์ใหญ่ทั้งหมดใน MySQL
รูปแบบไวยากรณ์
SELECT * FROM yourTableName WHERE yourColumnName = BINARY UPPER(yourColumnName);
BINARY ทำให้การเปรียบเทียบเป็น Case-sensitive
ตัวอย่างการใช้งาน
สร้างตาราง:
mysql> CREATE TABLE FindUpperCaseDemo ( Id INT, FirstName VARCHAR(20), Age INT ); Query OK, 0 rows affected (1.04 sec)
เพิ่มข้อมูล (ผสมตัวเล็ก/ใหญ่):
mysql> INSERT INTO FindUpperCaseDemo VALUES(1,'John',23); ... (รวม 10 แถว) ...
แสดงข้อมูล:
+------+-----------+------+ | Id | FirstName | Age | +------+-----------+------+ | 1 | John | 23 | | 2 | CAROL | 21 | | 3 | JoHN | 23 | | 4 | JOHN | 26 | | 5 | sAM | 26 | | 6 | SAM | 28 | | 7 | MIKE | 29 | | 8 | BOB | 20 | | 9 | LARRY | 22 | | 10 | LARRy | 22 | +------+-----------+------+
คำสั่งค้นหาชื่อที่เป็นตัวพิมพ์ใหญ่ทั้งหมด:
mysql> SELECT * FROM FindUpperCaseDemo WHERE FirstName = BINARY UPPER(FirstName);
ผลลัพธ์ (6 ชื่อ):
+------+-----------+------+ | Id | FirstName | Age | +------+-----------+------+ | 2 | CAROL | 21 | | 4 | JOHN | 26 | | 6 | SAM | 28 | | 7 | MIKE | 29 | | 8 | BOB | 20 | | 9 | LARRY | 22 | +------+-----------+------+ 6 rows in set (0.09 sec)