MySQL Select where 的值在列表字符串中?
为此,请使用 FIND_IN_SET()。
让我们创建一个表 -
示例
mysql> create table demo81 -> ( -> id int not null auto_increment primary key, -> username varchar(200) -> ); Query OK, 0 rows affected (1.44
使用插入命令将一些记录插入到表中 -
示例
mysql> insert into demo81(username) values('John,Chris,David'); Query OK, 1 row affected (0.11 mysql> insert into demo81(username) values('Mike,Sam'); Query OK, 1 row affected (0.14 mysql> insert into demo81(username) values('Chris,Bob,Sam'); Query OK, 1 row affected (0.13 mysql> insert into demo81(username) values('Mike,John,Chris'); Query OK, 1 row affected (0.23
使用 select 语句从表中显示记录 -
示例
mysql> select *from demo81;
这将产生以下输出 -
输出
+----+------------------+
| id | username |+----+------------------+
| 1 | John,Chris,David || 2 | Mike,Sam |
| 3 | Chris,Bob,Sam || 4 | Mike,John,Chris |
+----+------------------+4 rows in set (0.00 sec)
以下是查询,用于选择值在列表字符串内的值 -
示例
mysql> select *from demo81 where find_in_set('Chris',username) > 0;
这将产生以下输出 -
输出
+----+------------------+
| id | username |+----+------------------+
| 1 | John,Chris,David || 3 | Chris,Bob,Sam |
| 4 | Mike,John,Chris |+----+------------------+
3 rows in set (0.03 sec)
广告