我有表,我想根据多列值过滤表的数据,无论我输入一列的值还是一列。
我正在使用此代码。
ALTER proc usp_GetData
@name varchar(50)= NULL ,
@sector int =NULL,`
`@pocket varchar(50) =NULL ,
@plot int =NULL ,
@locality varchar(50) =NULL
as Select * from m_Details where v_RegName =@name AND n_sector =@sector AND v_pocket=@pocket AND n_plotNo=@plot AND v_locality=@locality
我想用@ NOT NULL替换@name这样的列值,因此我会得到我的结果。
答案 0 :(得分:0)
在您的程序中,将v_RegName =@name
等位替换为
(@name is null or v_RegName = @name)