4

让我们考虑一个条目DOMAIN={domain1,domain2,domain3},我如何测试是否domain1在列表中domain2domain3

例如: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)

4

3 回答 3

0

对于 SQL Server,使用CodeProject中的用户定义函数

于 2013-03-11T08:44:39.377 回答
0

为什么不使用带有百分比 (%) 通配符的LIKE运算符。

Select * From tablename
where DOMAIN Like '%domain1%'
or DOMAIN Like '%domain2%'
or DOMAIN Like '%domain3%'
于 2013-03-11T08:53:02.890 回答
0

使用 mysql 你可以连接你的字段并使用regexp这样的:

SELECT
    *
FROM table1
WHERE CONCAT(',', domain, ',') REGEXP ',domain1,|,domain2,|,domain1,'
于 2013-03-11T08:46:47.017 回答