sql-server - T-SQL SELECT 语句作为变量并将结果放入另一个变量

标签 sql-server t-sql

这是我的函数的最后一部分:

 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/

相关文章:

sql-server - 如何在 SQL Server 数据库中查找特定列?

sql - 尝试将动态 SQL 子查询结果放入 SQL-Server 2008 临时表而不预先定义临时表

sql - TSQL 函数递归

sql - 如何使用 T-SQL 数据透视表反转行和列

t-sql - 提取 SQL Server 查询中字符串的第一个单词

sql-server - 为什么 SQL Server 中𦍌和𧾷相同

sql - 在 SQL 中从 XML 中选择值

使用查找表时的 SQL SELECT 语句

sql - 从所有数据库中具有特定名称的所有表中选择

sql - 在 SQL Server 2008 R2 中引用前一行值进行算术计算