반응형
* 오라클 LIKE 전체 검색 주의할 점
보통 전체 검색할때 LIKE 문을 사용합니다.
예) select * from 테이블명 where 컬럼명 like '%'
을하면 전체 검색이 된다.
하지만 검색하는 컬럼이 null을 허용하면 위의 쿼리에 대한 전체 검색 결과가 틀리게 나온다.
like검색시 null이 있는 컬럼은 포함시키지 않기 때문이다.
* 컬럼 값에 null 이 있는 경우의 전체 검색할 경우에는 컬럼명 is null 을 추가해야된다.
예) select * from 테이블명 where 컬럼명 like '%' or 컬럼명 is null
ibatis같은 동적쿼리문을 사용하는 쿼리에서는 if조건을 걸어서 조건절에서 아예 검색할 컬럼을 빼서 조회를 해야 전체 조회가 된다.
select * from 테이블명
if(변수 != "%"){ // 검색어가 있는 경우에만 검색
where 컬럼명 like '%'
}
반응형
'프로그램 > ORACLE' 카테고리의 다른 글
오라클 = 검색 결과가 안나오는 경우 (0) | 2014.01.21 |
---|---|
컬럼의 한글, 영문, 숫자에 대한 정렬 방법 (0) | 2014.01.20 |
ORA-01745: 호스트/바인드 변수명이 부적합합니다 (0) | 2014.01.16 |
ORA-01476: 제수가 0 입니다 (0) | 2014.01.15 |
지역별 사람수 구하는 쿼리 (0) | 2014.01.12 |