日期:2014-05-18  浏览次数:20580 次

变量调取变量
declare @month varchar(6),@aa nvarchar(100),@bb nvarchar(100)
set @month='201109'
set @bb='''aa_'''+'+'+'@month'
set @aa=@bb

print(@bb)
print(@aa)

现在有这样一种情况,变化@bb赋了一个字符串该字符串中含有变量,
我现在想把变量@bb赋给变量@aa并且想让变量@aa的结果可以计算出来aa_201109

求解。

------解决方案--------------------
SQL code

declare @month varchar(6),@aa nvarchar(100),@bb nvarchar(100)
set @month='201109'
set @bb='aa_'+@month
set @aa=@bb

print(@bb)
print(@aa)

------解决方案--------------------
SQL code

declare @month varchar(6),@aa nvarchar(100),@bb nvarchar(100)
set @month='201109'
set @bb='aa_'+'@month'
set @aa=@bb

print(@bb)
print(@aa)

------解决方案--------------------
探讨

引用:
引用:

前提变量@BB不要改变,要是能改我早出结果了

2樓方法


2楼已经改变了变量@BB了

------解决方案--------------------
SQL code
declare @month varchar(6),@aa nvarchar(100),@bb nvarchar(100)
set @month='201109'
set @bb='select @aa='+'''aa_''+'+'@month'

exec sp_executesql @bb,N'@month varchar(6),@aa nvarchar(100) output',@month,@aa output

print(@aa)


/*
aa_201109

*/