oracle 19c query 질문드립니다. 0 1 1,227

by yexplorer oracle 19c not [2022.06.18 01:26:22]


현재 오라클 19c 사용중입니다.

특이한 경우가 있어 자문 구하고자 합니다.

 

예를 들면 TEST 테이블 구조가 REGDATE, REGDEPARTMENT, REGLOCATION 이고

1 20220616 || CS || I

2 20220616 || CS || I

3 20220616 || CS || null

과 같이 레코드가 있고

INDEX의 경우 DATE에만 걸려있는 상황이라고 했을 때,

현재 문제는 select * from TEST where REGDATE='20220616' and REGDEPARTMENT='CS' and REGLOCATION != 'I';

였을 때 NULL인 레코드가 1ea 나와야 하는데

누락되고 No Records로 결과가 나와서

살펴볼만한 부분이 있는가 하여 여쭙습니다.

도움 부탁드립니다.

by pajama [2022.06.18 15:07:31]

null 값은 != 식으로 비교가 안되기 때문에 그렇습니다.

null 값을 허용하시려면 아래처럼 조건을 추가로 주시면 될듯합니다.

select * from TEST where REGDATE='20220616' and REGDEPARTMENT='CS' and (REGLOCATION != 'I' OR REGLOCATION IS NULL);

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입