Redshift - 拆分列以查找具有不确定位置的定界符之间的值

Redshift - Split column to find value between delimiter with uncertain position

我在 redshift 中有一个 table,有两列,id 和 link。

当前Table

id link

1 www.something.com/bla?lughlegh &fruit=apple& khkhflkjndkj&ljghldh&ljhrleh

2 www.somethingelse.com/blabla?sdf&hthdth&sdhfhfY &fruit=orange& ergegertg

我想从 link 列中选取值 fruit=apple。但要注意的是 -

我基本上必须查找文本 fruit= 并在 fruit= 和下一个 &

之间选择值

必需 table

id link fruit

1 www.something.com/bla?lughlegh &fruit=apple& khkhflkjndkj&ljghldh&ljhrleh apple

2 www.somethingelse.com/blabla?sdf&hthdth&sdhfhfY &fruit=orange& ergegertg orange

尝试 REGEXP_REPLACE:

REGEXP_REPLACE(url, ".*[?&]fruit=([^&]*).*", "");