Redshift LIKE значение столбца с% в предложении WHERE - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь заставить это работать:

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] 

Есть идеи?

Я поставил этот вопрос даже здесь Значение столбца Redshift LIKE с% , откуда пришла идея.

Спасибо

1 Ответ

0 голосов
/ 27 октября 2018

Вы можете использовать функцию strpos, чтобы увидеть, находится ли a в пределах b

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

where strpos(b,a) > 0
...