檢查值是否存在於 MySQL 中用逗號分隔的列表中?


要檢查值是否存在於用逗號分隔的列表中,可以使用 FIND_IN_SET() 函式。

語法如下

SELECT *FROM yourTablename WHERE FIND_IN_SET(‘yourValue’,yourColumnName) > 0;

首先讓我們建立一個表。建立表所用查詢如下

mysql> create table existInCommaSeparatedList
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > Name varchar(200)
   - > );
Query OK, 0 rows affected (0.68 sec)

現在,你可以使用 insert(插入)指令在表中插入一些記錄。

查詢如下

mysql> insert into existInCommaSeparatedList(Name) values('John,Carol,Sam,Larry,Bob,David');
Query OK, 1 row affected (0.35 sec)
mysql> insert into existInCommaSeparatedList(Name) values('Maxwell,Chris,James');
Query OK, 1 row affected (0.14 sec)
mysql> insert into existInCommaSeparatedList(Name) values('Robert,Ramit');
Query OK, 1 row affected (0.34 sec)

使用 select(選擇)語句顯示錶中的所有記錄。

查詢如下

mysql> select *from existInCommaSeparatedList;

輸出如下

+----+--------------------------------+
| Id | Name                           |
+----+--------------------------------+
|  1 | John,Carol,Sam,Larry,Bob,David |
|  2 | Maxwell,Chris,James            |
|  3 | Robert,Ramit                   |
+----+--------------------------------+
3 rows in set (0.00 sec)

這是一個用於檢查值是否存在於用逗號分隔的列表中的查詢。我們正在檢查用逗號分隔的文字“Robert”欄位

mysql> SELECT *FROM existInCommaSeparatedList WHERE FIND_IN_SET('Robert',Name) > 0;

輸出如下

+----+--------------+
| Id | Name         |
+----+--------------+
|  3 | Robert,Ramit |
+----+--------------+
1 row in set (0.00 sec)

更新日期:30-7 月 -2019

超過 11,000 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始
廣告