假设我有一个很长的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=

如何使用上面的select语句(或任何其他类似的方法)只获取“para1”
我正在使用Greenplum(如主题标题中所述)

最佳答案

因为您显然拥有regexp_函数(我不认为Greenplum支持它们),所以使用:

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

10-05 18:50