mssql 不能像postgres 中使用占位符进行替换如%s,只能多写几个replace吧
为什么不用字符拼接的方式?拼接的语句太难看了
只能使用跛脚的方法:
declare @sql varchar(353)
declare @table varchar(33)
declare @sql2 varchar(353);
set @table = ‘test‘;
set @sql= ‘select * from @table where id = ‘‘@id‘‘‘;
set @sql2 = replace(@sql,‘@table‘,@table)
set @sql2 = replace(@sql2,‘@id‘,‘134‘)
print @sql2
exec (@sql2)