数据表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> 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)