选择所有记录(如果它在MySQL中包含特定编号)?

为此,请concat()与LIKE一起使用。以下是语法-

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

让我们创建一个表-

mysql> create table demo49
−> (
−> id varchar(20)
−> ,
−> first_name varchar(20)
−> );

借助insert命令将一些记录插入表中-

mysql> insert into demo49 values('4,5,6',
−> 'Adam');

mysql> insert into demo49 values('5,3,2','Mike');

mysql> insert into demo49 values('3,4,9','Bob');

使用select语句显示表中的记录-

mysql> select *from demo49;

这将产生以下输出-

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

以下查询选择所有记录(如果它包含特定编号)-

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

这将产生以下输出-

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