在MYSQL IN子句中使用通配符

问题描述 投票:0回答:1

我有这样的查询:

select * from Customers where CustomerID in ('%1%');

但是不返回任何结果

select * from Customers where CustomerID in ('1');

MySQL IN子句中是否可以使用通配符,还是仅支持原始值?

我找不到能够证实或否认这一点的任何东西。

mysql sql
1个回答
0
投票

不是。使用正则表达式会更好。像这样的东西:

where customerid regexp 'apple|pear|banana'

这将返回在任何地方都有'apple'或'pear'或'banana'的客户ID。

如果您真的想使用like,则需要进行多个比较:

where customerid like '%apple%' or
      customerid like '%pear%' or
      customerid like '%banana%'
© www.soinside.com 2019 - 2024. All rights reserved.