基于换行符Presto将一行拆分为多行

时间:2018-08-01 18:40:09

标签: sql presto

我在Presto中有一张桌子 table1

我想要 table2

我已经将UNNEST函数与split函数一起使用,但是我无法使用'\ n'或char(10)来分割每一行

SELECT Col1,split_Col2 
FROM tbl
CROSS JOIN UNNEST(SPLIT(Col2,'\n')) AS t (split_Col2) 

不起作用

甚至

SELECT Col1,split_Col2 
FROM tbl
CROSS JOIN UNNEST(SPLIT(Col2,char(10))) AS t (split_Col2) 

不起作用

我对Presto还是陌生的,如果有人可以帮助的话,那就太好了

2 个答案:

答案 0 :(得分:0)

我认为您打算使用chr() function

SELECT Col1,split_Col2 
FROM tbl
CROSS JOIN UNNEST(SPLIT(Col2,chr(10))) AS t (split_Col2) 

答案 1 :(得分:0)

您必须提供实际的换行符(输入按钮),而不是转义序列'\n'或char(10)

使用:

SELECT Col1,split_Col2  FROM tbl CROSS JOIN UNNEST(SPLIT(Col2,'  
')) AS t (split_Col2)

这有效