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

Chỉ lấy số (digits) dùng REGEXP trong MySQL

Dùng REGEXP ^[0-9]*$ trong WHERE để lấy chỉ các hàng toàn số.

Trường hợp 1: Chính xác 10 chữ số:

SELECT *FROM yourTableName WHERE yourColumnName REGEXP '^[0-9]{10}$';

Trường hợp 2: 1 hoặc nhiều chữ số (chỉ số):

SELECT *FROM yourTableName WHERE yourColumnName REGEXP '^[0-9]*$';

Demo: Bảng OnlyDigits cột UserId chứa mix chữ+số và chỉ số.

Kết quả CASE 1 (đúng 10 số): 1 hàng (9999986787)

Kết quả CASE 2 (chỉ số, bất kỳ độ dài): 3 hàng (9999999, 153545, 9999986787)

Biểu thức thay thế: ^[[:digit:]]{10}$