쿼리 질문 드립니다. 0 2 1,899

by 낭만캐치 [2014.09.02 17:14:25]


안녕하세요.

비소식이 있는데 우산 챙기셨길 바라면서 질문 하나 드리겠습니다.

 

SELECT STAT_CD

FROM TBL A

WHERE A.STAT_CD = :predStatCd

--------------------------------------------

이렇게 되어있을 때,

:predStatCd 의 값이 Null 일 경우에는 IN 으로 01,02,03,04,05,06,07,08

의 입력값이 들어가게 바꿀 수 있나요..?

미리 추석 잘보내세요^^

 

by 마농 [2014.09.02 18:01:09]
-- 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')) )

 


by 낭만캐치 [2014.09.02 18:30:22]

감사합니다^^

많이 도움 되었습니다. 즐거운 하루보내세요~!

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