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

Chọn hàng có ký tự đầu tiên là số (0-9) trong MySQL

Sử dụng toán tử RLIKE (hoặc REGEXP) với biểu thức chính quy để lọc các hàng mà cột bắt đầu bằng chữ số từ 0-9.

Cú pháp

SELECT * FROM tenBang WHERE tenCot RLIKE '^[0-9]';

Ví dụ minh họa

Tạo bảng và chèn dữ liệu:

mysql> create table DemoTable ( 
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    QuestionNumber varchar(200) 
); 
Query OK, 0 rows affected (0.56 sec)
mysql> insert into DemoTable(QuestionNumber) values('1Question'); 
Query OK, 1 row affected (0.18 sec) 
mysql> insert into DemoTable(QuestionNumber) values('Question2'); 
Query OK, 1 row affected (0.15 sec) 
mysql> insert into DemoTable(QuestionNumber) values('311Question'); 
Query OK, 1 row affected (0.13 sec) 
mysql> insert into DemoTable(QuestionNumber) values('45Question'); 
Query OK, 1 row affected (0.14 sec) 
mysql> insert into DemoTable(QuestionNumber) values('Question10'); 
Query OK, 1 row affected (0.13 sec)

Toàn bộ dữ liệu:

+----+----------------+
| Id | QuestionNumber |
+----+----------------+
| 1  | 1Question      |
| 2  | Question2      |
| 3  | 311Question    |
| 4  | 45Question     |
| 5  | Question10     |
+----+----------------+
5 rows in set (0.00 sec)

Truy vấn lọc

mysql> select *from DemoTable where QuestionNumber RLIKE '^[0-9]';
+----+----------------+
| Id | QuestionNumber |
+----+----------------+
| 1  | 1Question      |
| 3  | 311Question    |
| 4  | 45Question     |
+----+----------------+
3 rows in set (0.03 sec)

Giải thích: Biểu thức ^[0-9] khớp với chuỗi bắt đầu bằng một chữ số bất kỳ từ 0-9. Các hàng 'Question2' và 'Question10' không được chọn vì bắt đầu bằng chữ cái.