我們是否可以使用 IN() 在一個欄位中搜索逗號分隔的值?
可以不用 IN(),使用 FIND_IN_SET 在一個欄位內搜尋逗號分隔值。我們首先建立一個表 −
mysql> create table DemoTable -> ( -> ListOfValues text -> ); Query OK, 0 rows affected (0.56 sec)
使用 insert 命令向表中插入一些記錄 −
mysql> insert into DemoTable values('10|20|30|40|50|60|100');
Query OK, 1 row affected (0.18 sec)使用 select 語句顯示錶中的所有記錄 −
mysql> select *from DemoTable;
將生成以下輸出 −
+-----------------------+ | ListOfValues | +-----------------------+ | 10|20|30|40|50|60|100 | +-----------------------+ 1 row in set (0.00 sec)
以下是可以在一個欄位中在逗號分隔值之間搜尋的查詢 −
mysql> select FIND_IN_SET(100, replace(ListOfValues,'|',',')) from DemoTable;
將生成以下輸出 −
+-------------------------------------------------+ | FIND_IN_SET(100, replace(ListOfValues,'|',',')) | +-------------------------------------------------+ | 7 | +-------------------------------------------------+ 1 row in set (0.04 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP