안녕하세요.
비소식이 있는데 우산 챙기셨길 바라면서 질문 하나 드리겠습니다.
SELECT STAT_CD
FROM TBL A
WHERE A.STAT_CD = :predStatCd
--------------------------------------------
이렇게 되어있을 때,
:predStatCd 의 값이 Null 일 경우에는 IN 으로 01,02,03,04,05,06,07,08
의 입력값이 들어가게 바꿀 수 있나요..?
미리 추석 잘보내세요^^
1 2 3 4 5 6 7 8 9 | -- 1. stat_cd 의 종류가 8가지 뿐이라면? 굳이 조건을 줄 필요가 없구요. -- Null 일때와 아닐때로 분류하여 OR 로 풀어주면 되구요 WHERE ( (:predStatCd IS NULL ) OR (:predStatCd IS NOT NULL AND a.stat_cd = :predStatCd) ) -- 다음과 같이 해주어도 되구요 WHERE a.stat_cd = NVL(:predStatCd, a.stat_cd) -- 2. stat_cd 의 종류가 8가지 이상인데 8가지만 필요하다면? WHERE ( (:predStatCd IS NOT NULL AND a.stat_cd = :predStatCd) OR (:predStatCd IS NULL AND a.stat_cd IN ( '01' , '02' , '03' , '04' , '05' , '06' , '07' , '08' )) ) |