如何在普雷斯托中转义分号



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

相关内容

  • 没有找到相关文章

最新更新