有没有办法在SQL中将每个值作为一行返回

时间:2012-01-10 06:57:29

标签: sql oracle

您知道我们在Oracle SQL中执行以下查询,我们将每个值作为列,并将值作为值返回每列。

select 'Draft','Submitted','Cancelled','Accepted','Accepted and Modified','Open','Pending','Seller Reject' from dual;

有没有办法将每个值作为单列下的新行返回?

提前致谢!

2 个答案:

答案 0 :(得分:2)

我试过这个并且有效:

select 'Draft' as Enum
union
select 'Submitted' as Enum
union
select 'Cancelled' as Enum
union
select 'Accepted' as Enum
union
select 'Accepted and Modified' as Enum
union
select 'Open' as Enum
union
select 'Pending' as Enum
union
select 'Seller Reject' as Enum

这适用于SQL Server。

但是对于oracle,请在每个选择查询中添加from claus,例如select 'Seller Reject' as Enum from Dual

答案 1 :(得分:1)

select * from table (
  sys.dbms_debug_vc2coll('Draft','Submitted','Cancelled','Accepted','Accepted and Modified','Open','Pending','Seller Reject')
);