Redshift技术求助:如何将逗号分隔值拆分为独立行?
Redshift实现逗号分隔列的行转列
针对你的需求,Redshift可以通过REGEXP_SPLIT_TO_TABLE函数结合交叉连接快速实现逗号分隔列的拆分,以下是具体SQL代码:
SELECT t.State, TRIM(split_city) AS City FROM Table_A t CROSS JOIN REGEXP_SPLIT_TO_TABLE(t.City, ',\\s*') AS split_city;
代码说明:
REGEXP_SPLIT_TO_TABLE(t.City, ',\\s*'):将City列的字符串按逗号+任意数量空格的规则拆分,返回多行结果集,每个拆分出的城市作为一行TRIM:清理拆分后城市名称首尾可能存在的空格,保证数据整洁CROSS JOIN:将原表的每一行与拆分后的城市行进行关联,实现一行转多行的效果
执行上述SQL后,就能得到你期望的拆分结果。
内容的提问来源于stack exchange,提问作者Codegator
相关产品推荐
相关产品推荐

