본문 바로가기

MSSQL

where(조건)에서 case문 사용하기



다음은 @idxNum(전체보기= '0' or 관련글보기 = 'eref')을 받아 게시판 글을 select하는 프로시져이다.
사용한 테이블(&뷰): ExcelBoard, OrganSeller, VIEW_SessionCode(뷰)
-- 각 테이블(뷰)에만! 존재하는 컬럼명을 제외하고, 어떤 테이블(뷰)의 어떤 컬럼을 사용했는지 반드시 명시!(예: a.idx)
테이블을 조인하기 위한 간단한 조건 외에도~ where(조건) 뒤에서 case문을 아주 유용하게 사용 할 수 있다.

다른예제!
(case when @cName <> '' then cName  A일때~ 
when @cName = '' then 'Eliminate' end) B일때~
 like
 (case when @cName <> '' then '%' + @cName + '%' A실행 
 when @cName = '' then 'Eliminate' end) B실행