--下面这个应该是可以的!create proc procget --[存储过程名]@proc1 varchar(50),--这个是一定要存在的参数@proc2 varchar(50),@proc3 varchar(50)as--定义一个要执行的字符串语句declare @aa varchar(200)set @aa = 'select * from TA where ' + '[表中的列名] like ' + '''%' + @proc1 + '%'''--组合要执行的语句--如果参数为空,就加上字符空串,否则就加上相应的条件语句set @aa = @aa + case when @proc2 is null then '' else ' and [表中列名] like'+'''%'+@proc2+ '%''' endset @aa = @aa + case when @proc3 is null then '' else ' and [表中列名] like'+'''%'+@proc3+ '%''' end--执行语句exec(@aa)