如何在Presto中转义分号

时间:2019-01-10 09:41:39

标签: escaping presto

数据表为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 :(得分: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)