相关疑难解决方法(0)

SQL:根据变量选择动态列名

我有一个Microsoft SQL存储过程,其列名我想通过传递给它的变量设置:

CREATE PROCEDURE [My_Procedure]
   @myDynamicColumn varchar(50)
AS BEGIN
   SELECT 'value' AS @myDynamicColumn
END
Run Code Online (Sandbox Code Playgroud)

这不起作用("语法不正确").如果我用[]包装列名:

SELECT 'value' AS [@myDynamicColumn]
Run Code Online (Sandbox Code Playgroud)

列名称字面输出为'@myDynamicColumn'而不是实际值.有没有办法做到这一点?我查看了动态SQL文章,但没有什么是我要求的.

sql sql-server stored-procedures

23
推荐指数
3
解决办法
7万
查看次数

通过向简单的SQL查询中添加变量来使用动态SQL来指定列名

SQL 2005 / SQL 2008

Declare @temp nvarchar(1000)

set @temp = 'ABC'


select col1,col2 from tableA
Run Code Online (Sandbox Code Playgroud)

与选择查询一起,如何向选择查询中添加变量?

expected output :-

select col1,col2,@temp as [col3] from tableA
Run Code Online (Sandbox Code Playgroud)

其中@temp指定tableA中列的名称。

sql sql-server-2005 sql-server-2008

3
推荐指数
1
解决办法
4万
查看次数