SET @whereCond = @whereCond + ' AND name LIKE ''%'' + @name + ''%'''
这里有什么问题吗?在生成 where 条件后,我使用 执行它sp_executesql
,但我确实得到了任何东西。当我在没有 sp 的情况下选择相同的东西时,没关系。
如何在 sp_executesql 中使用 LIKE?你能举一些例子吗?
谢谢你。
更新
declare @name nvarchar(50)
set @name = 'a'
SELECT *
FROM Tbl_Persons WHERE 1 = 1 AND lastname LIKE '%a%'
exec sp_executesql
N'SELECT *
FROM Tbl_Persons WHERE 1 = 1 AND lastname LIKE ''%@name%''',
N'@name nvarchar(50)',
@name=@name
第一个查询返回值,第二个查询不返回任何内容。
有什么不同?