Redshift中是否有一种方法可以从一个文本块中提取所有URL作为单独的行?

问题描述 投票:0回答:2

我正在尝试从可能包含0,1或许多URL的文本块中提取特定格式的所有URL。

例如,一行可能具有以下值:

'some text blahblahblah.com更多文字secondwebsite.com更多测试'

我希望在我的输出中表示为两行:

'布拉罕布拉罕伯拉汉.com

'second website.com

我可以使用REGEXP_SUBSTRSPLIT_PART来获得第一个.com事件,但理想情况下我能够分别提取所有出现的事件。有没有办法做到这一点?

sql regex postgresql amazon-redshift
2个回答
0
投票

在SQL中,从单个输入行返回多个输出行并不容易。

您需要交叉连接到数字表(例如,包含1, 2, 3...的行的表,然后使用该数字引用输入行的单独部分。

底线:这是可能的,但它很混乱。尝试找到实现此目的的替代方法。


0
投票

如果您想从具有多个URL的字段创建单独的行,在SQL中通常不可行,我建议您使用ETL工具或某些脚本语言(如python)来执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.