Sql server 有没有一种方法可以获取一个变量的值,该变量的名称包含在另一个变量中

Sql server 有没有一种方法可以获取一个变量的值,该变量的名称包含在另一个变量中,sql-server,tsql,variables,Sql Server,Tsql,Variables,以下是代码术语中的问题: declare @v1 int=100 declare @v2 int=200 declare @v3 int=300 declare @name_of_var_I_need nvarchar(max)='@v2' select some_function_or_other_trick(@name_of_var_I_need) 产量:200 这个看似简单的问题正在回避我。我不能使用动态sql,因为变量不会经过不同的会话。我认为没有办法做到这一点。请查看是否有一个小的

以下是代码术语中的问题:

declare @v1 int=100
declare @v2 int=200
declare @v3 int=300
declare @name_of_var_I_need nvarchar(max)='@v2'

select some_function_or_other_trick(@name_of_var_I_need)
产量:200


这个看似简单的问题正在回避我。我不能使用动态sql,因为变量不会经过不同的会话。

我认为没有办法做到这一点。请查看是否有一个小的、已知的兼容类型的变量集,您可以在“@v1”时使用不雅的
case@name\u,然后在“@v1”时使用@v1,然后在“@v2”时使用@v2,然后在“@v3”时使用@v3。假设您需要变量的值。如果要设置该值,即在赋值中使用变量作为左手边,则
If
/
else
的效果差不多。获取值的另一种方法是将所有变量放在
values
子句中,并根据
values
的组织选择正确的列或行。我想制作一个表var,并将所有名称和值放在其中,但由于我的需要是一次性使用,所以values表是一个好主意,谢谢!