Гринплом подстроки - получение части длинного текста

StackOverflow https://stackoverflow.com//questions/21033439

  •  21-12-2019
  •  | 
  •  

Вопрос

сказать, у меня длинный URL

xyz = 'www.google.com/xyz?para1=value1&para2=value2&para3=value3....'
.

Я пытаюсь получить «PARA1» из этого длинного URL-адреса

Так, у меня есть

select TRIM(Leading '?' from Substring(xyz from '%#"?%=#"%' for '#'))
.

Ответ, который я получаю для этого конкретного утверждения, является

para1=value1&para2=value2&para3=
.

Как я могу получить только «PARA1», используя оператор выбора выше (или любого другого аналогичного метода?)

Я использую GreenPlum (как упомянуто в заголовке темы)

Это было полезно?

Решение

Поскольку вы, по-видимому, имеете функции regexp_ (я не думал, что они не думали, что они поддерживали) Использовать:

select (regexp_matches(
   'www.google.com/xyz?para1=value1&para2=value2&para3=value3....',
   '\?([^&]+)='
   ))[1];
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top