DB

WHERE 조건에 CASE문 처리

조셉LEE 2024. 3. 7. 09:00
728x90
반응형

사용법만 알면 자주 사용하게 되는것중에 하나가 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 로 전체 검색을 한다. 

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

 

반응형
LIST

'DB' 카테고리의 다른 글

오라클 다중 IN MSSQL에서는 EXISTS로 해보자  (0) 2024.03.07
DB 정렬 ORDER BY 관련  (1) 2024.03.07
[MSSQL] STUFF() / FOR XML PATH()  (0) 2024.03.05
오라클 HINT  (1) 2024.03.05
소수점 처리 방법 및 계산시 유의점  (0) 2024.03.02