想将下列Sql语句改写成使用sp_executesql执行,select a.* from a where a.field in ('S0001','1')
改用sp_executesql后的语句。exec sp_executesql N' select a.* from a
where a.field in (@cardno) ',N'@cardno nvarchar(150)',@cardno=N' ''S0001'',''1'''
但运行时,sp_executesql的并没找到任何记录。这是怎么回事?哪里有问题?
改用sp_executesql后的语句。exec sp_executesql N' select a.* from a
where a.field in (@cardno) ',N'@cardno nvarchar(150)',@cardno=N' ''S0001'',''1'''
但运行时,sp_executesql的并没找到任何记录。这是怎么回事?哪里有问题?
exec sp_executesql N' select a.* from a
where a.field in ('+@cardno+')',N'@cardno nvarchar(150)',@cardno=N' ''S0001'',''1'''
where CHARINDEX(CONVERT(VARCHAR(8000), a.field),(@cardno)>0 ',N'@cardno nvarchar(150)',@cardno=N' ''S0001'',''1'''这样应该更标准