Split one string with commas into columns

╄→гoц情女王★ 提交于 2019-12-11 09:55:37

问题


For example, I have the following table:

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

How can I convert it into:

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

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.

I use Presto, btw.

Thanks!


回答1:


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


来源:https://stackoverflow.com/questions/52318498/split-one-string-with-commas-into-columns

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!