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

การจับคู่ข้อความใน MySQL ด้วยตัวดำเนินการ LIKE

บทนำ

การค้นหาข้อมูลที่ตรงกับรูปแบบ (Pattern Matching) ใน MySQL ใช้ตัวดำเนินการ LIKE ร่วมกับตัวแทน (Wildcards):

  • % - แทนจำนวนตัวอักษรใดๆ (รวม 0 ตัว)
  • _ - แทนตัวอักษรเพียง 1 ตัว

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

mysql> CREATE TABLE DemoTable (
    -> MonthName VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.63 sec)
mysql> INSERT INTO DemoTable VALUES('JFMA');
mysql> INSERT INTO DemoTable VALUES('JMA');
mysql> INSERT INTO DemoTable VALUES('JDN');
mysql> INSERT INTO DemoTable VALUES('JFOSA');

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

mysql> SELECT * FROM DemoTable;

ผลลัพธ์

+-----------+
| MonthName |
+-----------+
| JFMA      |
| JMA       |
| JDN       |
| JFOSA     |
+-----------+
4 rows in set (0.00 sec)

คำสั่งจับคู่ข้อความที่มี J ตามด้วย M

mysql> SELECT * FROM DemoTable WHERE MonthName LIKE '%J%M%';

ผลลัพธ์

+-----------+
| MonthName |
+-----------+
| JFMA      |
| JMA       |
+-----------+
2 rows in set (0.00 sec)

คำอธิบาย

รูปแบบ '%J%M%' หมายถึง ข้อความที่มีตัว 'J' อยู่ที่ไหนก็ได้ ตามด้วย 'M' อยู่ที่ไหนก็ได้ (อาจมีตัวอักษรอื่นๆ ระหว่างหรือนำหน้า/ต่อท้าย)