如何选择包含字符串的列

时间:2017-05-17 16:06:54

标签: sql sql-server

这是我的代码:

declare @MaxPointNumber INT=499, @pointNumber INT = 5;
select ('point'+CAST(@pointNumber as varchar))
from #TempHold

这就是结果: enter image description here

point5应该是列的名称,但不知何故,它将成为表中的新值。 任何人都可以帮我理解发生了什么吗?

3 个答案:

答案 0 :(得分:2)

如前所述,您需要动态sql

DECLARE @sql VARCHAR(200)
DECLARE @MaxPointNumber INT=499, @pointNumber INT = 5;
SET @sql = 'SELECT ' + ('point'+CAST(@pointNumber as varchar)) +
' from #TempHold'


EXEC (@sql)

答案 1 :(得分:0)

你是从Temphold中选择的。这是您的列名称。你正在检索的表。

答案 2 :(得分:0)

想通了:

set @xxx=CAST(@pointNumber as varchar);
exec( 'select point'+ @xxx +' from #TempHold')