可能重复:
SQL:根据变量选择动态列名
我有以下简单的select陈述:
DECLARE @value varchar(10)
SET @value = 'intStep'
SELECT @value FROM dbo.tblBatchDetail
Run Code Online (Sandbox Code Playgroud)
我试过了
SELECT CAST(@value AS varchar(10)) FROM dbo.tblBatchDetail
Run Code Online (Sandbox Code Playgroud)
而且我得到了一份清单 intstep
问题:我可以将变量作为列名传递给此语句吗?或者这样做的最佳方式是什么
我正在使用SQL Server 2008(9.0 RTM)
这将是一个存储过程
提前致谢
Ste*_*eve 36
您不能使用变量名来绑定列或其他系统对象,您需要动态sql
DECLARE @value varchar(10)
SET @value = 'intStep'
DECLARE @sqlText nvarchar(1000);
SET @sqlText = N'SELECT ' + @value + ' FROM dbo.tblBatchDetail'
Exec (@sqlText)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102463 次 |
| 最近记录: |