例:
declare @SQL nvarchar(1000);
declare @str nvarchar(100);
set @str='Joe''s NB'; // 打印出来的应该是这样:Joe's NB
set @SQL='select * from table where t1=''' + @str + '''';
print(@SQL); // 打印SQL语句看看是否正确
exec (@SQL);
===============================================
在执行语句前,单引号应变为两个单引号才正确,否则你打印出来的语句这行就有问题。
如果传入的字符串是单引号的,你可以用REPLACE替换掉
如:
string str=“Joe''s NB”;
在SQL里你可以这样
@str=REPLACE(@str,'''',''''''); // @strt对应值str