您也可以IN()
借助正则表达式(regexp)来实现MySQL Like 。语法如下-
select *from yourTableName where yourColumName regexp ‘value1|value2|value3……|valueN’;
要了解上述逻辑,您需要创建一个表。让我们首先创建一个表-
mysql> create table INDemo -> ( -> Id int, -> Name varchar(100) -> );
在表中插入一些记录。查询如下-
mysql> insert into INDemo values(100,'John'); mysql> insert into INDemo values(104,'Carol'); mysql> insert into INDemo values(108,'David'); mysql> insert into INDemo values(112,'Smith'); mysql> insert into INDemo values(116,'Johnson'); mysql> insert into INDemo values(120,'Sam');
现在,我们可以在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)
如您在上面的输出中看到的,我们得到了相同的结果。