如果 MySQL 中包含特定数字,则选择所有记录?
mysqlmysqli database
为此,请使用 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)