บทความนี้สาธิตการใช้ REGEXP พร้อม Pattern [0-9]{11} เพื่อค้นหาแถวที่มีตัวเลข 11 หลักในคอลัมน์ TEXT
สร้างตารางและข้อมูลทดสอบ
mysql> CREATE TABLE DemoTable649 (Value TEXT);
Query OK, 0 rows affected (0.68 sec)
mysql> INSERT INTO DemoTable649 VALUES('1903');
mysql> INSERT INTO DemoTable649 VALUES('9321010');
mysql> INSERT INTO DemoTable649 VALUES('983032023393');
mysql> INSERT INTO DemoTable649 VALUES('1234567892');
mysql> INSERT INTO DemoTable649 VALUES('989898989');
คิวรีค้นหาสตริงที่มีตัวเลข 11 หลัก
mysql> SELECT * FROM DemoTable649 WHERE Value REGEXP '[0-9]{11}';
ผลลัพธ์
+--------------+
| Value |
+--------------+
| 983032023393 |
+--------------+
คำอธิบาย Pattern:
[0-9]- ตัวเลข 0-9{11}- จำนวน 11 ตัวติดต่อกัน- มีเพียง '983032023393' (12 หลัก) ที่ตรงเงื่อนไข (มี substring 11 หลัก)
หมายเหตุ: REGEXP ใน MySQL จะค้นหา Pattern ที่ปรากฏในส่วนใดส่วนหนึ่งของสตริง ไม่จำเป็นต้องตรงทั้งสตริง