繁体   English   中英

将一个带逗号的字符串拆分为列

[英]Split one string with commas into columns

例如,我有下表:

| Block                       |
| abcdefgh,12kjkjkj,231wewoxyz|

我怎样才能将其转换为:

| Block1   | Block2   | Block3     |
| abcdefgh | 12kjkjkj | 231wewoxyz |

笔记:

  • 每个“块”最多有 8 个逗号(因此可以分成 9 个较小的块)。 逗号的数量不同; 有些有 8 个逗号,有些有 4 个,有些有 7 个,等等。每个较小的块将占据一列。

顺便说一句,我使用 Presto。

在我看来,您只需使用split_part函数来创建列,如下所示:

SELECT
    split_part(Block, ',', 1) AS Block1,
    split_part(Block, ',', 2) AS Block2,
    split_part(Block, ',', 3) AS Block3,
    split_part(Block, ',', 4) AS Block4,
    split_part(Block, ',', 5) AS Block5,
    split_part(Block, ',', 6) AS Block6,
    split_part(Block, ',', 7) AS Block7,
    split_part(Block, ',', 8) AS Block8,
    split_part(Block, ',', 9) AS Block9
FROM
    your_table

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM