1

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

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但它不起作用。任何想法我该怎么做?

4

3 回答 3

3

您需要使用like运算符:

NameOfClient like @NameOfClient+'%'
于 2013-08-22T09:21:30.990 回答
2
NameOfClient like @NameOfClient + '%'

这不行吗?

于 2013-08-22T09:19:55.057 回答
0

您必须使用 LIKE 运算符:

WHERE NameOfClient LIKE @NameOfClient
于 2013-08-22T09:20:09.733 回答