在WHERE子句中将%的LIKE列值进行Redshift

时间:2018-10-27 14:38:31

标签: string amazon-redshift sql-like

我正在尝试使其工作:

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条记录[获取元数据:0ms] [获取数据:0ms]

但是我需要使用的是:

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

x    
---- 

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

有什么想法吗?

即使在这里,我也提出了这个问题Redshift LIKE column value with % 这个想法从何而来。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用strpos函数查看a是否在b之内

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

where strpos(b,a) > 0