Computer >> Máy Tính >  >> Lập trình >> MySQL

Chọn tất cả các bản ghi nếu nó chứa số cụ thể trong MySQL?

Đối với điều này, sử dụng concat () cùng với LIKE. Sau đây là cú pháp -

select *from yourTableName where concat(',', yourColumnName, ',') like '%,yourValue,%';

Hãy để chúng tôi tạo một bảng -

mysql> create table demo49
−> (
−> id varchar(20)
−> ,
−> first_name varchar(20)
−> );
Query OK, 0 rows affected (1.45 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo49 values('4,5,6',
−> 'Adam');
Query OK, 1 row affected (0.20 sec)

mysql> insert into demo49 values('5,3,2','Mike');
Query OK, 1 row affected (0.19 sec)

mysql> insert into demo49 values('3,4,9','Bob');
Query OK, 1 row affected (0.14 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo49;

Điều này sẽ tạo ra kết quả sau -

+-------+------------+
| id    | first_name |
+-------+------------+
| 4,5,6 | Adam       |
| 5,3,2 | Mike       |
| 3,4,9 | Bob        |
+-------+------------+
3 rows in set (0.00 sec)

Sau đây là truy vấn để chọn tất cả các bản ghi nếu nó chứa số cụ thể -

mysql> select *from demo49 where concat(',', id, ',') like '%,4,%';

Điều này sẽ tạo ra kết quả sau -

+-------+------------+
| id    | first_name |
+-------+------------+
| 4,5,6 | Adam       |
| 3,4,9 | Bob        |
+-------+------------+
2 rows in set (0.00 sec)