Redshift 运行 PostgreSQL 中的正则表达式
Regular Expression in Redshift running PostgreSQL
我在 redshift 运行 PostgreSQL 中有一个 table,其中一列是 url.
我需要从中提取参数 url。
即。如果 url=foo.bar?param1=a¶m2=b¶m1=c
我需要 param1 的值,它是来自此 url
的 c
尝试了一些解决方案,例如
(string_to_array(url,'param1='))[array_upper(string_to_array(url,'param1='),1)]
和
regexp_matches
Redshift 不允许数组,所以这两种方法都没有用。
有没有办法使用 SQL 来解决这个问题?
尝试像这样使用 regexp_matches
:
SELECT regexp_matches('url=foo.bar?param1=a¶m2=b¶m1=c', E'param1=([^&=\s]+)(?!.*param1)');
我在 redshift 运行 PostgreSQL 中有一个 table,其中一列是 url.
我需要从中提取参数 url。
即。如果 url=foo.bar?param1=a¶m2=b¶m1=c
我需要 param1 的值,它是来自此 url
的 c尝试了一些解决方案,例如
(string_to_array(url,'param1='))[array_upper(string_to_array(url,'param1='),1)]
和
regexp_matches
Redshift 不允许数组,所以这两种方法都没有用。 有没有办法使用 SQL 来解决这个问题?
尝试像这样使用 regexp_matches
:
SELECT regexp_matches('url=foo.bar?param1=a¶m2=b¶m1=c', E'param1=([^&=\s]+)(?!.*param1)');