如何通过静态数据集在Oracle SQL上执行设置操作?

时间:2015-04-20 10:01:55

标签: sql oracle oracle11g

需要对 静态数据集

执行设置操作(MINUSINTERSECT,..)

例如:

SELECT ('a','b') MINUS ('a') from dual;  

预计会返回'b'

SELECT ('a','b') INTERSECT ('c') from dual;  

预计会返回'a','b','c',但我遇到了

ORA-00907: missing right parenthesis

2 个答案:

答案 0 :(得分:4)

您可以使用predefined types之一,例如:

select * from table(sys.odcivarchar2list('a', 'b'))
minus 
select * from table(sys.odcivarchar2list('c'))

答案 1 :(得分:0)

另一种选择虽然可能不是更好的选择。见DEMO HERE

(SELECT 'a' from dual 
union 
select 'b' from dual)
MINUS 
select 'a' from dual;