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

ดึงเฉพาะแถวที่เป็นตัวเลขทั้งหมดใน MySQL

ใช้ REGEXP '^[0-9]+$' ตรวจสอบว่าสตริงประกอบด้วยตัวเลข 0-9 เท่านั้น

สร้างตารางตัวอย่าง

mysql> CREATE TABLE DemoTable (
    -> StudentId VARCHAR(100)
    -> );

เพิ่มข้อมูลตัวอย่าง (ผสมตัวเลขและตัวอักษร)

mysql> INSERT INTO DemoTable VALUES('John74747');
mysql> INSERT INTO DemoTable VALUES('8494575Carol');
mysql> INSERT INTO DemoTable VALUES('985755645');
mysql> INSERT INTO DemoTable VALUES('Carol-9032');
mysql> INSERT INTO DemoTable VALUES('101');

แสดงข้อมูลทั้งหมด

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+--------------+
| StudentId    |
+--------------+
| John74747    |
| 8494575Carol |
| 985755645    |
| Carol-9032   |
| 101          |
+--------------+

คำสั่งดึงเฉพาะแถวที่เป็นตัวเลขทั้งหมด

mysql> SELECT * FROM DemoTable WHERE StudentId REGEXP '^[0-9]+$';

ผลลัพธ์:

+-----------+
| StudentId |
+-----------+
| 985755645 |
| 101       |
+-----------+

คำอธิบาย: ^[0-9]+$ = เริ่มต้น (^) จบ ($) ด้วยตัวเลข 0-9 หนึ่งตัวขึ้นไป (+) ไม่มีอักขระอื่น