【发布时间】:2020-05-28 13:34:05
【问题描述】:
我需要将多列(有很多列和行)合并到新的一列中。
例如。缩短的 test_table
Col1 Col2 Col3 Col4 Col5 Col6
942 72987 14759 441277503 73553030 null
943 72987 14759 441278315 73553166 null
944 72987 14759 441362593 73570082 null
945 72987 14759 441380217 73572619 null
946 72987 14759 441394189 73574533 null
947 72987 14759 441394189 73574533 null
我想将 Col1-Col5 与逗号分隔符 (",") 合并,并将创建的 String 放入 Col6
所以在 Col6 中,我想拥有例如:
942,72987,14759,441277503,73553030
有什么解决方案可以在 SQL/PL/SQL 中执行吗?
正如我所说的有很多列,所以我想避免使用Col1 || Col2 || Col3 || Col4 || Col5手动添加它们
提前致谢, 米哈乌
【问题讨论】:
-
不。手动是您唯一的选择。虽然如果您想对很多表执行此操作,您可以从数据字典中生成代码。
-
列为 NULL 时会发生什么?您的列的数据类型是什么?
-
@wolφi - 如果列为 Null,那么它应该只是空白值。并且数据类型不同,主要是 VARCHAR2,但其中一些是 NUMBERs
-
编辑了我的答案以处理数据类型和转换。请看meta.stackexchange.com/questions/5234/…
标签: sql oracle plsql data-warehouse