我正在尝试动态计算列名,但是SQL Server不允许这种情况发生。有正确的方法吗?
预期结果
SELECT Column_1 FROM Table
询问
DECLARE @param AS INT; SELECT @param = 1; EXEC('SELECT Column_' + CAST(@param AS VARCHAR) + ' FROM Table');
捕获:@Param为了提供输入的便利,需要将其理解为整数。
@Param
请这样使用
DECLARE @param AS INT; SELECT @param=1; DECLARE @SQL AS VARCHAR(MAX) = 'SELECT Column_'+CAST(@param AS VARCHAR(5))+' FROM Table' EXEC(@SQL);