选择应该通过提供的字母查找单词的程序

时间:2013-08-22 09:15:35

标签: sql sql-server-2008 tsql select stored-procedures

我有它正在运作的程序,但我希望通过提供单词中的几个字母搜索的能力来改进它。过程:

alter PROCEDURE SearchByIncIDroNameOfClientoStreetorEmpID
@IncID int,
@NameOfClient nvarchar (60),
@StrID int,
@EmpID int,
@date date
as
select IncID,NameOfClient,EnterDate,StrName ,AppartmentNumber as 'appartment',Summary,IncStatus,e.LastName,EndDate 
from Incident i 
JOIN Streets s on i.StrID=s.StrID 
join Employee e on i.EmpID=e.EmpID
where  IncID =@IncID or NameOfClient = @NameOfClient or s.StrID = @StrID or i.EmpID=@EmpID or EnterDate =@date
go

我需要修改此部分NameOfClient = @NameOfClient,以便显示以提供的字母开头的记录。所以现在,如果我想为John搜索我必须怀疑约翰,但我希望例如,如果我只给Jo它应该返回从Jo开始的所有记录 我试图在@NameOfClient之前添加%符号,但它不起作用。任何想法我怎么做?

3 个答案:

答案 0 :(得分:3)

您需要使用like运算符:

NameOfClient like @NameOfClient+'%'

答案 1 :(得分:2)

NameOfClient like @NameOfClient + '%'

这不行吗?

答案 2 :(得分:0)

您必须使用LIKE运算符:

WHERE NameOfClient LIKE @NameOfClient