sql server中带变量的Like运算符
我的存储sql server中带变量的Like运算符,sql,stored-procedures,Sql,Stored Procedures,我的存储 ALTER PROCEDURE [dbo].[GetDataByLikeFun] @TblName nvarchar(max),@FieldName nvarchar(max),@ValParam nvarchar(max) AS BEGIN declare @TAblE nvarchar(max); set @ValParam='LIKE ''%'+@ValParam+'%' set @TAblE = 'Select * From ' + @TblName + '
ALTER PROCEDURE [dbo].[GetDataByLikeFun]
@TblName nvarchar(max),@FieldName nvarchar(max),@ValParam nvarchar(max)
AS
BEGIN
declare @TAblE nvarchar(max);
set @ValParam='LIKE ''%'+@ValParam+'%'
set @TAblE = 'Select * From ' + @TblName + ' WHERE ' + @FieldName+@ValParam
exec(@TAblE)
END
显示错误
味精105,第15级,状态1,第3行
字符串“%d%”后的未闭合引号
Msg 4145,第15级,状态1,第3行
在“%d%”附近预期有条件的上下文中指定的非布尔类型的表达式
有人解决了吗
set @ValParam='LIKE ''%'+@ValParam+'%'
改为
set @ValParam=' LIKE ''%'+@ValParam+'%'''
在LIKE前面添加空格键并关闭您的报价非常感谢这是解决方案集@ValParam='LIKE'%'+@ValParam+'%'''