상세 컨텐츠

본문 제목

오라클 프로시저에서 조건문에 문자 NULL 체크하기 - MSSql과 비교

데이터베이스

by 김일국 2010. 12. 24. 23:47

본문

WHERE 조건절에서 문자널체크 공식 2가지
기존1
STNO = ISNULL(@USER_NO,STNO)
AND NAMEKOR LIKE '%' || ISNULL(@USER_NM,NAMEKOR) || '%'
수정후1
((STNO LIKE '' || P_USER_NO || '%') OR (STNO IS NULL))
                AND ( NAMEKOR LIKE '' || P_USER_NM || '%')
기존2
AND COLUMNA = ISNULL(@COLUMNA,COLUMNA) AND COLUMNB = ISNULL(@COLUMNB,COLUMNB)
수정후2
AND ((COLUMNA LIKE '' || P_COLUMNA || '%' OR COLUMNA IS NULL)) AND ((COLUMNB LIKE '' || P_COLUMNB || '%' OR COLUMNB IS NULL))

 

최종 수정

STNO = ISNULL(@USER_NO,STNO)
STNO = NVL(P_USER_NO,STNO)
상화에 따라서 IS NULL 부분을 IS NOT NULL 로 변경 하시면 됩니다...

 

진짜 최종결과물(오라클)

AND DECODE(NVL(파라미터,'0'),'0','0', DECODE(NVL(필드명,'N'),'N','N','Y','Y','0')) = NVL(파라미터,'0')

관련글 더보기

댓글 영역