【问题标题】:substrr Comma Separated column value to rows in netezzasubstrr 逗号分隔的列值到 netezza 中的行
【发布时间】:2022-06-10 23:24:58
【问题描述】:

我有一个表样本,其数据存储如下

Id   | String
--------------
1     abc,def,ghi
2     jkl,mno,pqr

我需要这样的输出..

Id   | processedrows
--------------
1     abc
1     def
1     ghi
2     jkl
2     mno
2     pqr

我使用 XML 表在 SQL Server 中成功运行。

select a.Id,trim(COLUMN_VALUE) 
FROM tableA a ,xmltable(('"'|| REPLACE(a.String, ',', '","')|| '"'))

如何在 netezza 中对选择查询执行相同操作?

【问题讨论】:

  • xmltable 不是有效的内置 T-SQL 表值函数。如果它是用户定义的 TVF,那么我们不知道它是什么。虽然你为什么不使用STRING_SPLIT
  • 另外,您引用了一个名为 a 的对象,但在您的查询中没有别名为 a 的对象。此外,您将奇数 1980 年的 CROSS JOIN 用于表值函数 xmltable,但是,因此您将无法在其参数中引用前一个表中的列;您需要我们 APPLY 才能做到这一点。
  • 已经在这里提问和回答:stackoverflow.com/questions/52859424/…
  • 这能回答你的问题吗? SQL to split a column values into rows in Netezza
  • 虽然该问题的答案是 answer in another castle, @TimBiegeleisen ,但它并没有那么有用(尤其是如果链接失效)。

标签: sql-server netezza


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
相关资源
最近更新 更多