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

ใช้ RLIKE/REGEXP Pattern ใน MySQL ค้นหาเมืองขึ้นต้นด้วยสระ 2 ตัว

บทความนี้สาธิตการใช้ RLIKE (หรือ REGEXP) พร้อม Pattern ^[aeiouAEIOU][aeiouAEIOU] เพื่อค้นหารายชื่อเมืองที่ขึ้นต้นด้วยตัวสระ 2 ตัวติดกัน

สร้างตารางและข้อมูลทดสอบ

mysql> CREATE TABLE DemoTable664 (CityName VARCHAR(100));
Query OK, 0 rows affected (0.89 sec)

mysql> INSERT INTO DemoTable664 VALUES('Springfield');
mysql> INSERT INTO DemoTable664 VALUES('Austin');
mysql> INSERT INTO DemoTable664 VALUES('Franklin');
mysql> INSERT INTO DemoTable664 VALUES('OAKLAND');
mysql> INSERT INTO DemoTable664 VALUES('Anchorage');

คิวรีค้นหาด้วย RLIKE

mysql> SELECT * FROM DemoTable664 
WHERE CityName RLIKE '^[aeiouAEIOU][aeiouAEIOU]';

ผลลัพธ์

+----------+
| CityName |
+----------+
| Austin   |
| OAKLAND  |
+----------+

คำอธิบาย Pattern:

  • ^ - เริ่มต้นสตริง
  • [aeiouAEIOU] - ตัวสระพิมพ์เล็กหรือพิมพ์ใหญ่ ตัวแรก
  • [aeiouAEIOU] - ตัวสระพิมพ์เล็กหรือพิมพ์ใหญ่ ตัวที่สอง
  • RLIKE = REGEXP (Synonym ใน MySQL)

ผลลัพธ์: Austin (Au-) และ OAKLAND (OA-) ตรงเงื่อนไข ส่วน Springfield, Franklin, Anchorage ไม่ตรง