3
create Procedure Proc_selectEmp
(
@name varchar(10) = null,
@lname varchar(10) = null,
@id varchar(10) = null

)
as
begin

select * from Emp
where 
(@name is null or name = @name) 
and (@lname is null or lname = @lname) 
and (@id is null or id = @id)
end

私の基本的なクエリ: select * from Emp. ユーザーが名前を入力すると、それが追加され、クエリは次のようになります。

select *  
from Emp 
where name = txtname.Text

これが私のSPです。適切に処理します。

isnull()と を使用して他のオプションはありますかcase

4

1 に答える 1

2

のようなものはどうですか

where   ISNULL(@name,name) = name  
and     ISNULL(@lname,lname) = lname
and     ISNULL(@id,id) = id
于 2012-09-06T11:45:34.057 に答える