日期:2014-05-17  浏览次数:20374 次

一个SQL格式转换(变量转义)的问题 -高手请进
declare @A INT
declare @B INT

SET @A=7
SET @B=9

declare @Sql varchar(400)
set @Sql='@A+@B'

select @A+@B        --16  


如何将@Sql进行转化后

最终 效果
select @Sql  也能得到   16值



期待佳音!!!

------解决方案--------------------
declare @Sql int
 set @Sql=@A+@B
select @sql 

------解决方案--------------------
try this,

declare @A INT
declare @B INT

SET @A=7
SET @B=9

declare @Sql nvarchar(400)
set @Sql=N'select @A+@B'

exec sp_executesql @Sql,N'@A int,@B int',@A=@A,@B=@B

--结果
/*

-----------
16

(1 row(s) affected)
*/