ค้นหาตัวอักษร % ตรงตัวใน LIKE Pattern
ตัวอักษร % ใน LIKE เป็น Wildcard (Match อะไรก็ได้) หากต้องการค้นหา % ตรงตัว ต้อง Escape ด้วย Backslash \\%
ไวยากรณ์
SELECT * FROM your_table WHERE your_column LIKE '\\%';
สร้างตารางและข้อมูล (มี % อยู่ในข้อมูล)
mysql> CREATE TABLE DemoTable1497 (Name VARCHAR(20));
Query OK, 0 rows affected (0.55 sec)
mysql> INSERT INTO DemoTable1497 VALUES
-> ('%JohnSmith'), ('DavidMiller'), ('CarolTaylor%'), ('%DavidMiller');
Query OK, 4 rows affected
ข้อมูลทั้งหมด
+--------------+ | Name | +--------------+ | %JohnSmith | | DavidMiller | | CarolTaylor% | | %DavidMiller | +--------------+
คำสั่ง: ค้นหา Name ที่ขึ้นต้นด้วย % (Escape ด้วย \\)
mysql> SELECT * FROM DemoTable1497 WHERE Name LIKE '\\%';
ผลลัพธ์
+--------------+ | Name | +--------------+ | %JohnSmith | | %DavidMiller | +--------------+
กรณีอื่นๆ ของ Escape ใน LIKE
| ต้องการค้นหา | Pattern | คำอธิบาย |
|---|---|---|
| ขึ้นต้น % | LIKE '\\%' | Escape % ตัวแรก |
| ลงท้าย % | LIKE '%\\%' | Escape % ตัวท้าย |
| มี % อยู่ตรงไหนก็ได้ | LIKE '%\\%%' | Escape % กลาง |
| ตัวอักษร _ (Underscore) | LIKE '\\_' | _ คือ Wildcard หนึ่งตัว ต้อง Escape |
| Backslash ตรงตัว | LIKE '\\\\' | Escape Backslash เอง |