我有以下查询
SELECT 1, 2 FROM DUAL
Run Code Online (Sandbox Code Playgroud)
我喜欢类似的东西
SELECT TRANSPOSE(SELECT 1, 2 FROM DUAL)
Run Code Online (Sandbox Code Playgroud)
与输出相同
SELECT 1 FROM DUAL
UNION
SELECT 2 FROM DUAL
Run Code Online (Sandbox Code Playgroud)
我希望它用列交换行.
小智 5
假设这是Oracle 11,您可以使用UNPIVOT:
select no from
(SELECT 1 a, 2 b FROM DUAL) dummy
unpivot (no for col in (a as 'A', b as 'B'))
Run Code Online (Sandbox Code Playgroud)
使用dbms_xmlgen.getxmltype和XMLTABLE:
SELECT *
FROM XMLTABLE('/ROWSET/ROW/*' passing dbms_xmlgen.getxmltype('SELECT 1, 2, 3 FROM DUAL')
COLUMNS val VARCHAR(100) PATH '.');
Run Code Online (Sandbox Code Playgroud)
相对于 unpivot 的优点 - 无需提前指定列列表
| 归档时间: |
|
| 查看次数: |
2361 次 |
| 最近记录: |