Разбить одну строку с запятыми на столбцы - PullRequest
0 голосов
/ 13 сентября 2018

Например, у меня есть следующая таблица:

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

Как я могу преобразовать это в:

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

Примечание: - Каждый «Блок» имеет максимум 8 запятых(и, следовательно, может быть разбит на 9 меньших блоков).Количество запятых варьируется;некоторые имеют 8 запятых, некоторые имеют 4, некоторые имеют 7 и т. д. Каждый меньший блок будет занимать столбец.

Я использую Presto, кстати.

Спасибо!

1 Ответ

0 голосов
/ 13 сентября 2018

Мне кажется, вы просто используете функцию 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
...