Как избежать точки с запятой в Престо - PullRequest
0 голосов
/ 10 января 2019

Таблица данных testtable:

col 

x;y

p;q

m;n

Я пробовал:

SELECT split(col,'\;') FROM testtable
SELECT split(col,'\\;') FROM testtable
SELECT split(col,'\;' ESCAPE '\') FROM testtable

для разделения col, но ни один из приведенных выше кодов не работал в Presto. Кто-нибудь знает, как избежать точки с запятой в Presto?

1 Ответ

0 голосов
/ 10 января 2019

Вам на самом деле не нужно бежать ;

presto> SELECT split('aaa;bbb',';');
   _col0
------------
 [aaa, bbb]
(1 row)

presto> SELECT split('aaa;bbb',';')[1], split('aaa;bbb',';')[2];
 _col0 | _col1
-------+-------
 aaa   | bbb
(1 row)

если вы хотите, чтобы каждая запись представляла собой строку, вам понадобится что-то подобное (не проверено)

SELECT split_values
FROM testtable
CROSS JOIN UNNEST(SPLIT(col,';')) AS t (split_values)
...