2012-03-01 10 views
0

私は以下のような(従業員)があります。私が得るために必要なものをここで
oracleでIN条件を使用してNULL(空)列を取得する方法はありますか?使用しないでnullですか?

EMPNO ENAME  JOB   MGR HIREDATE  SAL  COMM  DEPTNO 
    -------- ---------- --------- ------ ---------- -------- ---------- ---------- 
     7369 SMITH     7902 17/12/1980  800     20 
     7499 ALLEN  SALESMAN 7698 20/02/1981  1600  300   30 
     7521 WARD     7698 22/02/1981  1250  500   30 
     7566 JONES  MANAGER  7839 02/04/1981  2975     20 
     7654 MARTIN  SALESMAN 7698 28/09/1981  1250  1400   30 
     7698 BLAKE     7839 01/05/1981  2850     30 
     7782 CLARK  TESTER  7839 09/06/1981  2450     10 

は次のとおりです。
従業員とジョブ仕事 IN(」 「SALESMAN」、「MANAGER」、およびNULL(空))。
私は、クエリ上記以外のどのような方法があるis NULL

select empno, ename, job 
from employee 
where job in('SALESMAN', 'MANAGER') or job is null; 

を使用してクエリを作成?
サイドIN条件でnullを渡すことはできますか?

+0

しかし、なぜ?あなたの質問に何が問題なのですか? –

+0

ya、IN条件で引数としてジョブタイプを渡す必要があります(私のシナリオではnullは必要ありません)。ご協力ありがとうございました。 –

答えて

3

使用NVL機能:

select empno, ename, job 
from employee 
where nvl(job, 'NULL') in('SALESMAN', 'MANAGER', 'NULL') 
+2

このようなインデックスが存在する場合、これにより 'job'にインデックスを使用できなくなります。 – Allan

関連する問題