使用 MySQL IN() 从逗号分隔值中提取记录?


使用 FIND_IN_SET() 而非 MySQL IN()。我们首先要创建一个 −

mysql> create table DemoTable1423
   -> (
   -> CountryName varchar(100)
   -> );
Query OK, 0 rows affected (0.51 sec)

使用插入 − 在表中插入某些记录

mysql> insert into DemoTable1423 values('AUS,UK');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1423 values('US');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable1423 values('AUS,UK,US');
Query OK, 1 row affected (0.13 sec)

使用 select − 从表中显示所有记录

mysql> select * from DemoTable1423;

这会生成以下输出 −

+-------------+
| CountryName |
+-------------+
| AUS,UK      |
| US          |
| AUS,UK,US   |
+-------------+
3 rows in set (0.00 sec)

下面是使用 FIND_IN_SET() − 提取记录的查询

mysql> select * from DemoTable1423 where find_in_set('US',CountryName);

这会生成以下输出 −

+-------------+
| CountryName |
+-------------+
| US          |
| AUS,UK,US   |
+-------------+
2 rows in set (0.00 sec)

更新时间:2019-11-12

2K+ 浏览量

开启您的 事业

完成课程,获得认证

开始
广告