Sử dụng REGEXP '^[0-9]+$' để lọc các hàng mà cột chỉ chứa chữ số từ đầu đến cuối.
Tạo bảng và dữ liệu hỗn hợp
mysql> CREATE TABLE DemoTable (
-> StudentId VARCHAR(100)
-> );
Query OK, 0 rows affected (0.51 sec)
mysql> INSERT INTO DemoTable VALUES('John74747'), ('8494575Carol'), ('985755645'), ('Carol-9032'), ('101');
Query OK, 5 rows affected (0.14 sec)
Truy vấn chỉ lấy hàng toàn số
mysql> SELECT * FROM DemoTable WHERE StudentId REGEXP '^[0-9]+$';
Kết quả:
+-----------+ | StudentId | +-----------+ | 985755645 | | 101 | +-----------+ 2 rows in set (0.17 sec)
Giải thích Regex:
^: bắt đầu chuỗi[0-9]+: một hoặc nhiều chữ số$: kết thúc chuỗi