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

ค้นหาข้อมูลตามตัวอักษร A-Z ใน MySQL ด้วย REGEXP

เมื่อต้องการค้นหาแถวที่ขึ้นต้นด้วยตัวอักษรเฉพาะ (เช่น A, B, หรือ C) ใน MySQL สามารถใช้งาน REGEXP กับรูปแบบ Regular Expression ได้อย่างง่ายดาย

รูปแบบคำสั่ง (Syntax)

SELECT * FROM yourTableName 
WHERE yourColumnName REGEXP '^[ABC]';

เครื่องหมาย ^ หมายถึง "ขึ้นต้นด้วย" และ [ABC] หมายถึงตัวอักษร A, B, หรือ C

ตัวอย่างการสร้างตารางและข้อมูล

mysql> create table DemoTable ( 
    Name varchar(100) ); 
Query OK, 0 rows affected (0.69 sec)
mysql> insert into DemoTable values('Chris'); 
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('David'); 
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Mike'); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Bob'); 
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Mike'); 
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('Adam'); 
Query OK, 1 row affected (0.14 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;
+-------+
| Name  |
+-------+
| Chris |
| David |
| Mike  |
| Bob   |
| Mike  |
| Adam  |
+-------+
6 rows in set (0.00 sec)

คำสั่งค้นหาชื่อขึ้นต้นด้วย A, B, หรือ C

mysql> select * from DemoTable 
where Name REGEXP '^[ABC]';

ผลลัพธ์

+-------+
| Name  |
+-------+
| Chris |
| Bob   |
| Adam  |
+-------+
3 rows in set (0.17 sec)

คำอธิบาย: รูปแบบ '^[ABC]' จะจับคู่เฉพาะแถวที่คอลัมน์ Name เริ่มต้นด้วย A, B, หรือ C เท่านั้น สามารถปรับเปลี่ยนช่วงตัวอักษรได้ เช่น '^[A-F]' สำหรับ A ถึง F