在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%">