การค้นหาแถวที่คอลัมน์ขึ้นต้นด้วยตัวเลขใน MySQL
ใช้ตัวดำเนินการ RLIKE (Regular Expression) พร้อมรูปแบบ '^[0-9]+' เพื่อจับคู่สตริงที่เริ่มต้นด้วยตัวเลข 0-9
SELECT * FROM yourTableName WHERE yourColumnName RLIKE '^[0-9]+';
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล:
mysql> create table DemoTable (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
QuestionNumber varchar(200)
);
mysql> insert into DemoTable(QuestionNumber) values('1Question');
mysql> insert into DemoTable(QuestionNumber) values('Question2');
mysql> insert into DemoTable(QuestionNumber) values('311Question');
mysql> insert into DemoTable(QuestionNumber) values('45Question');
mysql> insert into DemoTable(QuestionNumber) values('Question10');
ข้อมูลทั้งหมด:
+----+----------------+ | Id | QuestionNumber | +----+----------------+ | 1 | 1Question | | 2 | Question2 | | 3 | 311Question | | 4 | 45Question | | 5 | Question10 | +----+----------------+
คิวรีเลือกเฉพาะแถวที่ขึ้นต้นด้วยตัวเลข:
mysql> select * from DemoTable where QuestionNumber RLIKE '^[0-9]+';
ผลลัพธ์:
+----+----------------+ | Id | QuestionNumber | +----+----------------+ | 1 | 1Question | | 3 | 311Question | | 4 | 45Question | +----+----------------+
คำอธิบายเพิ่มเติม:
^หมายถึงจุดเริ่มต้นของสตริง[0-9]หมายถึงตัวเลข 0 ถึง 9+หมายถึง 1 ครั้งขึ้นไป- สามารถใช้
REGEXPแทนRLIKEได้ (ทำงานเหมือนกัน)