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)

更新時間:12-11-2020

4K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲取認證

開始
廣告
© . All rights reserved.