Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何使用存储过程@param作为列别名?_Sql Server_Tsql - Fatal编程技术网

Sql server 如何使用存储过程@param作为列别名?

Sql server 如何使用存储过程@param作为列别名?,sql-server,tsql,Sql Server,Tsql,如何将存储过程参数用作列别名?例如: SELECT '12345' AS @MySprocParam 我尝试了以下sql,但不起作用: DECLARE @MySprocParam VARCHAR(50) = 'TestAlias' SELECT 'ASDF' AS @MyProcParam 您需要动态sql DECLARE @MySprocParam VARCHAR(50) = 'TestAlias' SET @MyProcParam = QUOTENAME(@MyProcParam)

如何将存储过程参数用作列别名?例如:

SELECT '12345' AS @MySprocParam
我尝试了以下sql,但不起作用:

DECLARE @MySprocParam VARCHAR(50) = 'TestAlias'
SELECT 'ASDF' AS @MyProcParam
您需要动态sql

DECLARE @MySprocParam VARCHAR(50) = 'TestAlias'

SET @MyProcParam = QUOTENAME(@MyProcParam)

exec( 'SELECT ''ASDF'' AS '+@MyProcParam)

我希望有一种更简单、更少打扰的方式that@user6867266-您可以在此处使用
Quotename
来避免入侵。但不可能避免动态sql