declare @intNum int
set @intNum = 2
select * from 우편물
where
( (@intNum = -1) or (번호 = @intNum) )
-- 코드에서 검색조건으로 넘어온 @intNum
[번호] 컬럼중 2가 있다면 번호=2 인 컬럼만 출력되고
전체검색일 경우 코드에서 @intNum을 -1로 세팅하여 전체 row가 출력되게 한다.
=====================================================================
SELECT * FROM AAA WHERE state IN (1,2,3) and eDate > case when state = 3 then dateadd(d, -7, GETDATE()) else dateadd(d, -1, eDate) end
=====================================================================
-- @a가 2일때 1이 아닌 모든 값
declare @a varchar(10)
set @a = '2'
select * from
_test
where @a='-1'
or (case when @a='1' then 1 else 0 end =1 and num=1 )
or (case when @a='2' then 1 else 0 end =1 and num<>1)
댓글