Oracle sql:将列转换为行

时间:2015-06-17 06:46:49

标签: sql oracle oracle10g

我有这样的选择声明。

select 'A','B','C' from dual;

显示

'A' 'B' 'C'
 A   B   C

我希望它像这样显示

'A'

 A

 B

 C

请帮帮我。

1 个答案:

答案 0 :(得分:0)

只需将其与CHR(10)连接即换行

例如,

SQL> WITH DATA(a, b, c) AS(
  2  SELECT 'A','B','C' FROM dual
  3  )
  4  SELECT a||chr(10)||b||chr(10)||c text FROM DATA;

TEXT
-----
A
B
C


SQL>

或者,您可以使用 UNION ALL

SQL> column text format a4
SQL> WITH DATA(a, b, c) AS(
  2  SELECT 'A','B','C' FROM dual
  3  )
  4  SELECT a text FROM DATA UNION ALL
  5  SELECT b text FROM DATA UNION ALL
  6  SELECT c text FROM DATA;

TEXT
----
A
B
C

SQL>