我有它正在运作的程序,但我希望通过提供单词中的几个字母搜索的能力来改进它。过程:
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
之前添加%符号,但它不起作用。任何想法我怎么做?
答案 0 :(得分:3)
您需要使用like
运算符:
NameOfClient like @NameOfClient+'%'
答案 1 :(得分:2)
NameOfClient like @NameOfClient + '%'
这不行吗?
答案 2 :(得分:0)
您必须使用LIKE运算符:
WHERE NameOfClient LIKE @NameOfClient