我有一个任务,它接受一个参数,并有三种模式的结果
示例参数名称为sizePram(1=仅为null,2=仅不为null,3=两者或全部)
declare @sizeParam int
set @sizeParam = 1 or 2 or 3
select * from SalesLT.Product where Size =
CASE @sizeParam
when 1 then is null
when 2 then is not null
when 3 then all
end
select *
from SalesLT.Product
where
(@sizeParam = 1 and Size is null) or
(@sizeParam = 2 and Size is not null) or
(@sizeParam = 3)
SELECT *
FROM SalesLT.Product
WHERE (@sizeParam = 1 AND Size IS NULL)
OR (@sizeParam = 2 AND Size IS NOT NULL)
OR (@sizeParam = 3)
SELECT *
FROM SalesLT.Product
WHERE ( sizeParam <> 1 OR Size IS NULL )
AND NOT ( sizeParam = 2 AND Size IS NULL );