Sous-chaîne de greenplum - faire partie d'un texte long
-
21-12-2019 - |
Question
dire que j'ai une longue url
xyz = 'www.google.com/xyz?para1=value1¶2=value2¶3=value3....'
J'essaie d'obtenir le "para1" de cette longue url
Alors, j'ai
select TRIM(Leading '?' from Substring(xyz from '%#"?%=#"%' for '#'))
La réponse que je reçois pour cette déclaration particulière est
para1=value1¶2=value2¶3=
Comment puis-je obtenir juste "para1" à l'aide de l'instruction SELECT ci-dessus (ou une autre méthode similaire?)
J'utilise Greenplum (comme mentionné dans la rubrique The Topic)
La solution
Puisque vous avez apparemment les fonctions regexp_
(je n'ai pas pensé Greenplum les soutenait) Utilisez:
select (regexp_matches(
'www.google.com/xyz?para1=value1¶2=value2¶3=value3....',
'\?([^&]+)='
))[1];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow