Frage

Angenommen, ich habe eine lange URL

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

Ich versuche, das „para1“ aus dieser langen URL herauszubekommen

Also habe ich

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

Die Antwort, die ich auf diese spezielle Aussage bekomme, ist

para1=value1&para2=value2&para3=

Wie kann ich mit der obigen Select-Anweisung (oder einer anderen ähnlichen Methode) nur „para1“ erhalten?

Ich verwende Greenplum (wie in der Themenüberschrift erwähnt)

War es hilfreich?

Lösung

Da du offenbar das hast regexp_ Funktionen (ich glaube nicht, dass Greenplum sie unterstützt) verwenden:

select (regexp_matches(
   'www.google.com/xyz?para1=value1&para2=value2&para3=value3....',
   '\?([^&]+)='
   ))[1];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top