使用 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+ 瀏覽量

開啟您的 事業

完成課程,獲得認證

開始
廣告