这是我的函数的最后一部分:
SET @query = (N'SELECT [' +@outColumn+'] FROM [Production].[dbo].[v_time] WHERE textile LIKE '''+@outTextile+'''')
我尝试过这样的:(我也尝试过使用“exec sp_executesql(@query)”,但它不起作用)
SET @output = (@query)
RETURN @output
结果我得到的正是我想要的 SQL 查询。但是,如何运行(执行)@query 及其结果(在本例中为十进制数)放入变量@output 并返回?
最佳答案
尝试类似......
Declare @query NVarchar(MAX)
, @outColumn SYSNAME
, @Out DECIMAL(10,2)
SET @query = N' SELECT TOP 1 @Out = ' +QUOTENAME(@outColumn)
+ N' FROM [Production].[dbo].[v_time] '
+ N' WHERE textile LIKE ''%'' + @outTextile + ''%'''
Exec sp_executesql @query
,N'@outTextile VARCHAR(50) , @Out DECIMAL(10,2) OUTPUT'
,@outTextile
,@Out OUTPUT
关于sql-server - T-SQL SELECT 语句作为变量并将结果放入另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34006821/