Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 当X为空时,如何执行';a'';b'';c';?_Oracle_Select_Null - Fatal编程技术网

Oracle 当X为空时,如何执行';a'';b'';c';?

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

怎么办

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
语句来实现它:

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

但我发现前一个版本更容易阅读。

说真的,不清楚。。。请再次阅读您的问题,并添加一些示例数据和基于该数据的预期输出。请