WORK/DB

where 절에 case 문 비교하기

im 수캥이 2019. 1. 25. 09:51

SELECT

  USER_ID

, USER_NAME

, STATUS

, DEPT_CD

, DEL_FLAG

FROM USER_INFO


위와 같은 테이블이 있을 경우 STATUS값 으로 예를 들어본다.


SELECT

  USER_ID

, USER_NAME

FROM USER_INFO

WHERE 1 = 1

AND (  CASE WHEN STATUS= 'S' THEN DEPT_CD ELSE USER_ID END  ) = '파라미터값'


위의 문장은 STATUS값이 S 일 경우 DEPT_CD조건이 들어가고 ELSE 일 경우 USER_ID 가 조회 조건이 된다.