Oracle 当X为空时,如何执行';a'';b'';c';?
怎么办 udfo in(如果基金为空,则为'a'、'b'、'c'或'd'结束) 因为你只能做到: udfo in(如果资金为空,则为'a'或'd'结束) ?Oracle 当X为空时,如何执行';a'';b'';c';?,oracle,select,null,Oracle,Select,Null,怎么办 udfo in(如果基金为空,则为'a'、'b'、'c'或'd'结束) 因为你只能做到: udfo in(如果资金为空,则为'a'或'd'结束) ? 使用或和两个相互排斥的条件: SELECT * FROM your_table WHERE ( fund IS NULL AND udfo IN ( 'a', 'b', 'c' ) ) OR ( fund IS NOT NULL AND udfo IN ( 'd' ) ) 您甚至可以使用CASE语句来实现它: SEL
使用
或
和两个相互排斥的条件:
SELECT *
FROM your_table
WHERE ( fund IS NULL AND udfo IN ( 'a', 'b', 'c' ) )
OR ( fund IS NOT NULL AND udfo IN ( 'd' ) )
您甚至可以使用CASE
语句来实现它:
SELECT *
FROM your_table
WHERE CASE WHEN fund IS NULL AND udfo IN ( 'a', 'b', 'c' )
THEN 1
WHEN fund IS NOT NULL AND udfo IN ( 'd' )
THEN 1
ELSE 0
END = 1
但我发现前一个版本更容易阅读。说真的,不清楚。。。请再次阅读您的问题,并添加一些示例数据和基于该数据的预期输出。请