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

Kiểm tra chuỗi có chứa số trong MySQL

Sử dụng biểu thức chính quy REGEXP '[0-9]' để tìm các hàng có cột chứa ít nhất một chữ số.

Cú pháp

SELECT * 
FROM ten_bang 
WHERE ten_cot REGEXP '[0-9]';

Ví dụ minh họa

Tạo bảng StringContainsNumber:

CREATE TABLE StringContainsNumber (
    Id INT NOT NULL AUTO_INCREMENT,
    Words TEXT,
    PRIMARY KEY (Id)
);

INSERT INTO StringContainsNumber (Words) VALUES
('He12345llo'),
('MySQL is not a programming 4language'),
('Java is an object oriented'),
('Java does not support 456 multiple inheritance'),
('MySQL is a RDBMS 456');

Truy vấn tìm chuỗi có số

SELECT * 
FROM StringContainsNumber 
WHERE Words REGEXP '[0-9]';

Kết quả: 4/5 hàng khớp (hàng 3 không có số):

+----+------------------------------------------------+
| Id | Words                                          |
+----+------------------------------------------------+
|  1 | He12345llo                                     |
|  2 | MySQL is not a programming 4language           |
|  4 | Java does not support 456 multiple inheritance |
|  5 | MySQL is a RDBMS 456                           |
+----+------------------------------------------------+

Mở rộng: Dùng '[0-9]{3,}' để tìm ít nhất 3 số liên tiếp, '^[0-9]+$' để tìm chuỗi toàn số.