Pergunta

dizem que eu tenho uma URL longa

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

Eu estou tentando obter o "para1" fora deste URL longa

Então, eu tenho

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

A resposta que tenho para esta afirmação particular é

para1=value1&para2=value2&para3=

Como posso obter apenas "para1" usando a instrução select acima (ou qualquer outro método semelhante?)

Eu estou usando Greenplum (como mencionado no título do tópico)

Foi útil?

Solução

Desde que você, aparentemente, têm o regexp_ funções (eu não acho que Greenplum suportados-los), use:

select (regexp_matches(
   'www.google.com/xyz?para1=value1&para2=value2&para3=value3....',
   '\?([^&]+)='
   ))[1];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top