【发布时间】:2014-01-09 23:34:07
【问题描述】:
说我的网址很长
xyz = 'www.google.com/xyz?para1=value1¶2=value2¶3=value3....'
我正在尝试从这个长 URL 中获取“para1”
所以,我有
select TRIM(Leading '?' from Substring(xyz from '%#"?%=#"%' for '#'))
我得到的这个特定陈述的答案是
para1=value1¶2=value2¶3=
我怎样才能使用上面的 select 语句(或任何其他类似方法?)只得到 'para1'?
我正在使用 Greenplum(如主题标题中所述)
【问题讨论】:
-
模式表达式在 Pg 9.3 上失败,所以我很难对此进行测试。一般来说,我会说你想嵌套两个
substring表达式,一个用来切断前面,另一个用来在第一个=之后砍掉。 -
你好,谢谢 :) 我最终分两步完成,一旦我得到了“?”之后的所有内容,我使用了 'Regexp_string_to_table(value &) 然后 regexp_string_to_table (value =)。这样,我将所有的 Paramname (para1,para2...) 放在一列中,将 Values 放在第二列中。我尝试了这两个子字符串,但由于某种原因,我无法成功获取我想要的数据。
标签: postgresql substring greenplum