将%的LIKE列值进行Redshift
我有一列是用逗号分隔的值字符串。我想加入另一个只有一个值的表。在redshift上,如何在比较中注入’%’来进行LIKE运算符?
前任:
TableA:values_col =’abc,def’
TableB:value_col =’def’
SELECT *FROM TableA a
JOIN TableB b ON b.value_col LIKE '%' || a.values_col || '%'
上面的concat似乎不起作用。任何建议,将不胜感激。谢谢。
回答:
您将获得可怕的表现。您应该修复您的数据结构。但是,如果必须这样做,这应该可以工作:
SELECT *FROM TableA a JOIN
TableB b
ON ',' || a.values_col || ',' LIKE '%,' || b.value_col || ',%';
如果您的值之间可以包含逗号,则逗号很重要。更重要的是,like
需要操作数以正确的顺序排列。
以上是 将%的LIKE列值进行Redshift 的全部内容, 来源链接: utcz.com/qa/413699.html