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

เลือกแถวที่ขึ้นต้นด้วยตัวเลข 0-9 ใน MySQL

การค้นหาแถวที่คอลัมน์ขึ้นต้นด้วยตัวเลขใน 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 ได้ (ทำงานเหมือนกัน)