让我们考虑一个条目DOMAIN={domain1,domain2,domain3},我如何测试domain1、domain2或domain3是否在列表中?
例如:list={domain5, domain 2, domain6}
------------------------------------
| CONTEXT | DOMAIN |
-----------------------------------|
| context1 |domain1,domain2,domain3|
|----------------------------------|我尝试了SELECT * FROM table WHERE SUBSTRING_INDEX(domain, ',', 1) IN {'domain5', 'domain 2', 'domain6'},但它只适用于逗号前面的第一个值(domain1)
发布于 2013-03-11 16:44:39
对于SQL Server,请使用CodeProject中的用户定义函数
发布于 2013-03-11 16:46:47
在mysql中,你可以拼接你的字段并使用如下的regexp:
SELECT
*
FROM table1
WHERE CONCAT(',', domain, ',') REGEXP ',domain1,|,domain2,|,domain1,'发布于 2013-03-11 16:53:03
为什么不使用带有百分号(%)通配符的LIKE运算符呢?
Select * From tablename
where DOMAIN Like '%domain1%'
or DOMAIN Like '%domain2%'
or DOMAIN Like '%domain3%'https://stackoverflow.com/questions/15334207
复制相似问题