Null 값 포함하기 0 5 1,044

by 쩌링짱 [Oracle 기초] null [2020.01.14 18:56:37]


컬럼 내용 중 null 값이 포함되어있는데

a 컬럼의 값은 1, 2, 3, null 이렇게 있습니다.

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() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입