Я работаю над извлечением URL в AWS Redshift.Столбец URL выглядит следующим образом:
url item origin
http://B123//ajdsb apple US
http://BYHG//B123 banana UK
http://B325//BF89//BY85 candy CA
В результате я хочу получить серию, начинающуюся с B, а также развернуть строки, если в URL есть несколько рядов.
extracted item origin
B123 apple US
BYHG banana UK
B123 banana UK
B325 candy CA
BF89 candy CA
BY85 candy CA
Мой текущий код:
select REGEXP_SUBSTR(url, '(B[0-9A-Z]{3})') as extracted, item, origin
from data
Регулярное выражение работает хорошо, но у меня проблемы с извлечением нескольких значений и расширением их до новых строк.Я пытался использовать REGEXP_MATCHES(url, '(B[0-9A-Z]{3})', 'g')
, но функция regexp_matches не существует в Redshift ...