数据表为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中转义分号?
答案 0 :(得分:1)
您实际上不需要逃脱;
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)