【问题标题】:SQL - Help me Select the result of concatenating two variables in a stored procedureSQL - 帮我选择在存储过程中连接两个变量的结果
【发布时间】:2023-03-30 10:22:01
【问题描述】:

我试图连接存储过程中的两个变量,以便在 SELECT 语句中使用结果字符串。连接按需要工作,但在执行时表格无法正确填充。代码如下:

Create Procedure CurrencyParameter
    @Trade NVARCHAR (5),
    @Target NVARCHAR (5)
AS
    SELECT  
        CONCAT(@Trade, '_', SUBSTRING(@Target, CHARINDEX('U', @Target) + 1, LEN(@Target)))
    FROM 
        Trade_Ratios


EXECUTE CurrencyParameter @Trade = 'CU1', @Target ='CU10';

这是结果 这是想要的结果

如您所见,表格填充了正确数量的行,但只是将数据替换为连接的字符串。提前谢谢!

【问题讨论】:

标签: sql sql-server select stored-procedures string-concatenation


【解决方案1】:

你需要动态sql

CREATE PROCEDURE Currencyparameter (@Trade  NVARCHAR (5),
                                    @Target NVARCHAR (5))
AS
  BEGIN
      DECLARE @sql VARCHAR(8000)= ''

      SET @sql = Concat('SELECT ', @Trade, '_', Substring(@Target, Charindex( 'U', @Target) + 1, Len(@Target)), ' FROM Trade_Ratios')

      EXEC (@sql)
  END 

【讨论】:

  • 非常感谢!非常感谢您的帮助!
  • 还有一个问题:我们如何选择另一个字段以及连接字段?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
相关资源
最近更新 更多