用正则表达式在红移中查找字符串中的特定模式



在redshift中,我需要使用sql通过一列(列类型varchar(进行查询:示例:CCD_ 1和。

但我想在WHERE子句中实际得到的行只有";合作伙伴1":"lt;并且如果其中一个值是1>quot;

因此,例如,我会收集此行:{"partner_1":"0,1,2,3","partner_33":"0,1"},而不是这一行:{"partner_1":"0","partner_33":"0,1"}

我找到了一个解决方案,但这并不是一个真正的最佳方案,如果有任何意见,我将不胜感激。这就是我现在使用的:

WHERE split_part(<column_name>,'"partner_1":',2) ilike '%1%'

但是如果有一行有这个:{"partner_1":"0","partner_33":"0,1"},上面的子句也会得到这个行,我不想要。

我非常感谢任何能在这里提供帮助的人。

我通过字段找到了split_part的解决方案。使用在红移中创建视图

split_part&’,1( ,",1( 作为合作伙伴_1

在查询中拾取视图中列所在的行,如"%1%">

相关内容

  • 没有找到相关文章