mssql 动态语句实现

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)
原文地址:https://www.cnblogs.com/qianxunman/p/13411110.html