第一种写法是
if (@addDate is not null) and (@name <> '')select * from table where addDate = @addDate and name = @nameelse if (@addDate is not null) and (@name ='')select * from table where addDate = @addDate else if(@addDate is null) and (@name <> '')select * from table where and name = @nameelse if(@addDate is null) and (@name = '')select * from table
第二种就是动态组成SQL,通过exec来执行,我就不写,
昨天我想到一种办法
select * from table where (addDate = @addDate or @addDate is null) and (name = @name or @name = '')