ใช้ Regular Expression (REGEXP) เพื่อตรวจสอบว่าสตริงมีตัวเลข 0-9 หรือไม่
ไวยากรณ์
SELECT * FROM yourTableName WHERE yourColumnName REGEXP '[0-9]';
ตัวอย่างการใช้งาน
สร้างตาราง StringContainsNumber:
mysql> CREATE TABLE StringContainsNumber (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Words TEXT,
-> PRIMARY KEY(Id)
-> );
เพิ่มข้อมูลทดสอบ:
mysql> INSERT INTO StringContainsNumber(Words) VALUES('He12345llo');
mysql> INSERT INTO StringContainsNumber(Words) VALUES('MySQL is not a programming 4language');
mysql> INSERT INTO StringContainsNumber(Words) VALUES('Java is an object oriented');
mysql> INSERT INTO StringContainsNumber(Words) VALUES('Java does not support 456 multiple inheritance');
mysql> INSERT INTO StringContainsNumber(Words) VALUES('MySQL is a RDBMS 456');
ข้อมูลทั้งหมด
+----+------------------------------------------------+ | Id | Words | +----+------------------------------------------------+ | 1 | He12345llo | | 2 | MySQL is not a programming 4language | | 3 | Java is an object oriented | | 4 | Java does not support 456 multiple inheritance | | 5 | MySQL is a RDBMS 456 | +----+------------------------------------------------+
คำสั่งค้นหาข้อมูลที่มีตัวเลข
mysql> SELECT * FROM StringContainsNumber
-> WHERE Words REGEXP '[0-9]';
ผลลัพธ์ (เฉพาะแถวที่มีตัวเลข)
+----+------------------------------------------------+ | Id | Words | +----+------------------------------------------------+ | 1 | He12345llo | | 2 | MySQL is not a programming 4language | | 4 | Java does not support 456 multiple inheritance | | 5 | MySQL is a RDBMS 456 | +----+------------------------------------------------+
คำอธิบาย: แถวที่ 3 (Java is an object oriented) ไม่มีตัวเลข จึงไม่แสดงในผลลัพธ์