안녕하세요.
비소식이 있는데 우산 챙기셨길 바라면서 질문 하나 드리겠습니다.
SELECT STAT_CD
FROM TBL A
WHERE A.STAT_CD = :predStatCd
--------------------------------------------
이렇게 되어있을 때,
:predStatCd 의 값이 Null 일 경우에는 IN 으로 01,02,03,04,05,06,07,08
의 입력값이 들어가게 바꿀 수 있나요..?
미리 추석 잘보내세요^^
-- 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')) )