将一个字符串用逗号分隔成列 [英] Split one string with commas into columns

查看:111
本文介绍了将一个字符串用逗号分隔成列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如,我有下表:

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

如何将其转换为:

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

注意:
-每个块最多有8个逗号(因此可以分成9个较小的块)。逗号的数量各不相同;有些有8个逗号,有些有4个,有些有7个,依此类推。每个较小的块将占据一列。

Note: - Each "Block" has a maximum of 8 commas (and hence can be split into 9 smaller blocks). The number of commas varies; some have 8 commas, some have 4, some have 7, etc. Each smaller block will occupy a column.

我使用Presto,顺便说一句。

I use Presto, btw.

谢谢!

推荐答案

在我看来,您只需使用 split_part 函数来创建您的列,像这样:

Seems to me you would simply use split_part function to create your columns, like so:

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

这篇关于将一个字符串用逗号分隔成列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆