Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chỉ chọn hàng có giá trị toàn số (numeric) trong MySQL với REGEXP

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