在 WHERE 子句中使用 % 的 Redshift LIKE 列值

Redshift LIKE column value with % in WHERE clause

我正在努力让它发挥作用:

with a as (select '1'::varchar(32) as x), 
     b as (select '10'::varchar(32) as x)
select *
from b 
left join a using(x)
where b.x like '%1%'
;

x    
---- 
10   

选择了 1 条记录[获取元数据:0 毫秒][获取数据:0 毫秒]

但我需要使用的是:

where b.x like '%' || a.x || '%'
;

x    
---- 

0 record(s) selected [Fetch MetaData: 0ms] [Fetch Data: 0ms] 

有什么想法吗?

我什至把这个问题放在这里 创意从何而来。

谢谢

可以用strpos函数判断a是否在b内

https://docs.aws.amazon.com/redshift/latest/dg/r_STRPOS.html

where strpos(b,a) > 0