where 조건에서 3값을 제외하고 null을 포함하려 하는데 a not in('3')을 조건으로 하면 null은 비교대상이 없어서 그런지 포함이 안되는데.
초보라 도움을 요청합니다..
by pajama
[2020.01.14 23:31:06]
a not in ('3') or a is null 이런 식 말고 다른방법이 있는지 모르겠네요..
by 쩌링짱
[2020.01.15 08:53:49]
답변 너무 감사합니다.
by 마농
[2020.01.15 07:56:15]
WITH t AS
(
SELECT null a FROM dual
UNION ALL SELECT 1 FROM dual
UNION ALL SELECT 2 FROM dual
UNION ALL SELECT 3 FROM dual
)
SELECT *
FROM t
WHERE LNNVL(a = 3)
-- WHERE NVL(a, 0) != 3
;
by 쩌링짱
[2020.01.15 08:53:36]
마농님 정말 고맙습니다^^
by 유환
[2020.01.15 22:53:41]
where (a != 3 or is null ) 해되 됩니다.
그리고 널은 뭘 비교를 해도 무조건 거짖 입니다.
nvl 로 치환하거나 is null 이나 is not null 로 비교를 해야 합니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.