条目中用逗号分隔的循环子字符串

Posted

技术标签:

【中文标题】条目中用逗号分隔的循环子字符串【英文标题】:Loop substrings separated by comma in an entry 【发布时间】:2013-03-11 08:38:44 【问题描述】:

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

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

【问题讨论】:

MSSQL? mysql?甲骨文? 【参考方案1】:

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

【讨论】:

MySQL 中有没有等价于dbo.fn_ParseText2Table 的东西?【参考方案2】:

使用 mysql,您可以连接您的字段并使用 regexp,如下所示:

SELECT
    *
FROM table1
WHERE CONCAT(',', domain, ',') REGEXP ',domain1,|,domain2,|,domain1,'

【讨论】:

【参考方案3】:

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

Select * From tablename
where DOMAIN Like '%domain1%'
or DOMAIN Like '%domain2%'
or DOMAIN Like '%domain3%'

【讨论】:

以上是关于条目中用逗号分隔的循环子字符串的主要内容,如果未能解决你的问题,请参考以下文章

带有逗号分隔的字符串条目的熊猫数据框,更改为唯一的逗号分隔的条目

拆分逗号分隔的字符串,同时删除空格和空条目

如何在vue js中用逗号分隔的字符串中发布子类别?

R:如何计算列中用逗号分隔的所有字符值?

如何在Javascript中用逗号分隔的值匹配数组?

如何从文本文件中用逗号分隔行中的特定行和值