【问题标题】:Split one Row to Multiple Row Based on New line Character with Presto使用 Presto 根据换行符将一行拆分为多行
【发布时间】:2020-08-26 00:37:03
【问题描述】:

我在 Presto 中有一张桌子:

我想要:

我已将 UNNEST 函数与拆分函数一起使用,但我无法使用 '\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 的新手,如果有人可以提供帮助,那就太好了!

【问题讨论】:

  • 有错误日志什么的吗?
  • 不起作用是什么意思?请详细说明问题。
  • 它没有给我拆分的行。它只是显示相同的结果。我无法使用分隔符作为换行符来拆分它

标签: sql presto


【解决方案1】:

我认为您的意思是使用chr() function

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

【讨论】:

    【解决方案2】:

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

    使用:

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

    这行得通

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 2016-04-10
      • 2023-04-01
      • 2016-12-01
      • 2020-02-10
      相关资源
      最近更新 更多