将一个字符串用逗号分隔成列 [英] Split one string with commas into columns
本文介绍了将一个字符串用逗号分隔成列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如,我有下表:
| 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屋!
查看全文