如果 MySQL 中包含特定数字,则选择所有记录?


为此,使用 concat() 和 LIKE。以下是语法 −

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

让我们创建一个表 −

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

使用 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)

使用 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)

更新于:19-Nov-2020

181 次浏览

开始你的 职业生涯

完成课程即可获得认证

现在开始
广告