where case 질문입니다. 0 2 173

by 멀더요원 [SQL Query] [2021.01.11 11:12:11]


현재 mig 프로젝트 진행중입니다.

 

postgresql 아래 구문을

WHERE
    1 = 1
    AND
    CASE
        WHEN 0= 0 THEN 1 = 1
        WHEN 0= 1 THEN REPAIR_PURPOSE_CD = 'FH'
        WHEN 0= 2 THEN REPAIR_PURPOSE_CD <> 'FH'
    END

 

오라클 구문으로 변경해야하는데  where 절의 and case 위와 같은 형식으로는 적용이 안됩니다.

 

어떻게 바꿔야 할까요?

by pajama [2021.01.11 12:09:04]

두가지 방식으로 해봤습니다..

select * from t where 1=1 and
case when 0=0 and 1=1 then 1
     when 0=1 and repair_purpose_cd = 'FH' then 1
     when 0=2 and repair_purpose_cd <> 'FH' then 1
end = 1


select * from t where 1=1 and
((0 = 0 and 1 = 1) OR
(0 = 1 and repair_purpose_cd = 'FH') OR
(0 = 2 and repair_purpose_cd <> 'FH'))

 


by 멀더요원 [2021.01.11 13:18:42]

정말 감사드립니다. 원하는 결과 값이 나왔습니다.

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