MySQL LIKE IN()
你也可以透過正則表示式(regexp)來實現 MySQL Like IN()。語法如下 -
select *from yourTableName where yourColumName regexp ‘value1|value2|value3……|valueN’;
為了理解以上邏輯,你需要建立一個表。我們先建立一個表 -
mysql> create table INDemo -> ( -> Id int, -> Name varchar(100) -> ); Query OK, 0 rows affected (0.90 sec)
將一些記錄插入表中。查詢如下 -
mysql> insert into INDemo values(100,'John'); Query OK, 1 row affected (0.13 sec) mysql> insert into INDemo values(104,'Carol'); Query OK, 1 row affected (0.18 sec) mysql> insert into INDemo values(108,'David'); Query OK, 1 row affected (0.19 sec) mysql> insert into INDemo values(112,'Smith'); Query OK, 1 row affected (0.12 sec) mysql> insert into INDemo values(116,'Johnson'); Query OK, 1 row affected (0.17 sec) mysql> insert into INDemo values(120,'Sam'); Query OK, 1 row affected (0.16 sec)
現在我們可以透過 SELECT 語句來顯示所有記錄。查詢如下 -
mysql> select *from INDemo;
以下是輸出 -
+------+---------+ | Id | Name | +------+---------+ | 100 | John | | 104 | Carol | | 108 | David | | 112 | Smith | | 116 | Johnson | | 120 | Sam | +------+---------+ 6 rows in set (0.00 sec)
使用 regexp,其功能類似於 IN()。你可以使用我在開頭討論過的上述語法。查詢如下 -
mysql> select *from INDemo where Id regexp '112|116|100';
以下是輸出 -
+------+---------+ | Id | Name | +------+---------+ | 100 | John | | 112 | Smith | | 116 | Johnson | +------+---------+ 3 rows in set (0.21 sec)
你會得到與 IN() 相同的輸出。現在,讓我們透過 IN() 檢查一下。查詢如下 -
mysql> select *from INDemo where Id IN(112,116,100);
以下是輸出
+------+---------+ | Id | Name | +------+---------+ | 100 | John | | 112 | Smith | | 116 | Johnson | +------+---------+ 3 rows in set (0.00 sec)
正如你在以上輸出中看到的,我們得到了相同的結果。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP