select * from bom
where 1=1
and (
(@검색조건 = '' and 1=1) or (@검색조건 <> '' and 컬럼id = @검색조건)
)
==> 위 커리는 @검색조건이 들어오던지 안들어 오던지 똑같은 쿼리를 탄다.
참 또는 거짓 = 참 이므로 항상 두 조건중 하나의 쿼리로 실행 되어 결과값을 얻게 된다.
ex) select * from bom
where 1=1
and (
(out_yn = '' and 1=1) or (out_yn is null)
)
ex2) select * from from bom
where 1=1
and ( comp_cd like '%' + @comp_cd + '%' or @compcd = '')
and ( item_cd like '%' + @item_cd + '%' or @item_cd is null or @item_cd = '')
'Sduty > MS-SQL' 카테고리의 다른 글
특정 문자 걸러내기 (0) | 2014.01.04 |
---|---|
같은 IP영역대 서버연결 (0) | 2013.12.27 |
Table Trigger (0) | 2013.11.07 |
테이블 및 임시테이블 존재 여부 확인 (0) | 2013.03.30 |
MSSQL 2008 r2 다운로드 및 설치 (0) | 2012.11.01 |