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
最初のクエリは値を返し、2番目のクエリは何も返しません。
違いは何ですか?