DB

WHERE 조건에 CASE문 처리

조셉(개발자) 2024. 11. 6. 07:43
반응형

사용법만 알면 자주 사용하게 되는것중에 하나가 WHERE 조건에 CASE문을 넣으로 조건에 맞으면 조건절 실행

DECLARE @PARAFLAG VARCHAR(MAX) = 'Y'

SELECT AA, BB, CC, DD

  FROM TEMPTABLE

WHERE 1 = CASE WHEN @PARAFLAG = 'Y' THEN 1 ELSE CASE WHEN THEN CC = 'TYPE' ELSE 1 ELSE 0 END END

받은 변수DATA가 Y인경우 CC컬럼의 값이 TYPE인 DATA를 가져옴

Y가 아닌경우 WHERE 조건절은 1 = 1 로 전체 검색을 한다. 

사용방법에 따라 유용하게 쓰인다.

반응형