将数据拆分为oracle中的新行但在同一行中

时间:2015-06-06 09:02:54

标签: sql oracle newline

我有这样的数据

ColumnA ColumnB CloumnC

1只国王狗,猫

我想在一行中显示如下所示的数据" cat"应该在同一行的新行中显示

ColumnA ColumnB CloumnC

一只国王狗                 猫                  enter image description here

2 个答案:

答案 0 :(得分:0)

你可以替换分裂字符","带有换行符。

WITH sample_data
AS ( select null      as ColumnA
     ,      'King'    as ColumnB
     ,      'Dog,Cat' as ColumnC
     FROM   dual
   )
SELECT ColumnA
,      ColumnB
,      REPLACE(ColumnC,',',CHR(10))
FROM   sample_data

答案 1 :(得分:0)

新行取决于操作系统。在基于 Unix 的操作系统中,它是CHR(10),在 Windows 中,它是CHR(13) ,然后是 CHR(10)

在Windows操作系统中:

SELECT columna
,      columnb
,      REPLACE(columnc,',',CHR(10)||CHR(13))
FROM   table;

在基于Unix的操作系统中:

SELECT columna
,      columnb
,      REPLACE(columnc,',',CHR(10))
FROM   table;