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+'%'''