ALTER PROCEDURE searchUser
@keywords nvarchar(20)
AS
DECLARE @sqlstr nvarchar(4000)
declare @sql varchar(4000)
IF @keywords<>''
BEGIN
set @sqlstr = 'username like "%'+ @keywords +'%" and '
END
set @sql = 'SELECT * from test where '+ @sqlstr +' userpass=123456'
execute(@sql)
RETURN 我想搜索keywords 这个关键字和外加一个条件啊,如果关键字为空的时候,就不搜拉,我刚学存储过程,我这么写怎么不行啊?
谢谢!!!
@keywords nvarchar(20)
AS
DECLARE @sqlstr nvarchar(4000)
declare @sql varchar(4000)
IF @keywords<>''
BEGIN
set @sqlstr = 'username like "%'+ @keywords +'%" and '
END
set @sql = 'SELECT * from test where '+ @sqlstr +' userpass=123456'
execute(@sql)
RETURN 我想搜索keywords 这个关键字和外加一个条件啊,如果关键字为空的时候,就不搜拉,我刚学存储过程,我这么写怎么不行啊?
谢谢!!!
@keywords nvarchar(20)
AS
declare @sql varchar(4000)set @sql = 'SELECT * from test where userpass=123456 '
if @keywords<>''
BEGIN
set @sql = @sql + 'and username like "%'+@keywords+'%"
ENDexec(@sql)
return
set @sql = @sql + 'and username like ''%'+@keywords+'%'''''%' 是两个单引号+%+一个单引号'%''' 是一个单引号+%+三个单引号