如何用逗号将字符串分成新的列?

时间:2019-05-30 18:30:01

标签: sql amazon-redshift

我做了很多研究,却没有确切地找到我想要做的事情。我正在尝试将字符串分成新的列。我发现的大多数文章都分成新的行,这不是我的目标。我正在从Redshift数据库中提取数据。

以下是当前状态第1列中的示例字符串:

Column 1='a,b,c,1,2,3'

这是所需的结构:

Column 2='a'
Column 3='b'
Column 4='c'
Column 5='1'
...

如何实现?

1 个答案:

答案 0 :(得分:0)

如果输出的列数是固定的,则可以使用Redshift的String_Part函数。

SELECT col1, 
    STRING_PART(col1, ',', 1) as Col2, 
    STRING_PART(col1, ',', 2) as Col3,
    STRING_PART(col1, ',', 3) as Col4
FROM yourtable

这会将col1yourtable分成3列,其中包含列表中的第一,第二和第三项,以逗号分隔。