【发布时间】:2014-09-08 01:04:15
【问题描述】:
我有以下简单的选择语句:
DECLARE @value varchar(10)
SET @value = 'intStep'
SELECT @value FROM dbo.tblBatchDetail
我试过了
SELECT CAST(@value AS varchar(10)) FROM dbo.tblBatchDetail
我得到了一个 intstep 列表
问题:我可以将变量作为列名传递给该语句吗?或者在变量值来自变量的条件下执行此操作的最佳方法是什么
我使用的是 SQL Server 2008 (9.0 RTM)
这将是一个存储过程
提前致谢
【问题讨论】:
-
检查动态查询
-
我确实使用过它并且它很好,但我想设置这样的条件 Gnumber = '+@g
-
它给了我错误我想显示列中的值的无效列名
-
你不能对列名或表名使用参数 - 如果你想“参数化”这个,你必须使用动态 SQL(有它的所有缺点和问题)
-
我想我没有让自己清楚地看到我做了什么我使用了动态 SQL,它工作得很好,但它显示了我通过变量给它的所有列,就像我的代码
标签: sql sql-server-2008