【问题标题】:sql server 2008 stored procedure, cannot use variable in single quotesql server 2008 存储过程,不能在单引号中使用变量
【发布时间】:2013-05-09 19:15:24
【问题描述】:

这是我的存储过程。

ALTER PROCEDURE [dbo].[SearchIngredients] 
    @Term NVARCHAR(50) 
AS
BEGIN
    SET NOCOUNT ON;

    SELECT  *
    FROM    dbo.FoodAbbrev
    WHERE   Name LIKE '%@Term%'
    ORDER BY Name

END

我一直没有结果。我认为这是因为我将变量放在单引号中,并且可能 DB 认为这是字符串的一部分,而不是变量。尝试了其他一些方法,仍然无法解决,请帮助我。

我也试过了。还是一无所获。

    SET @Term = '''%' + @Term + '%'''

    SELECT  *
    FROM    dbo.FoodAbbrev
    WHERE   Name LIKE @Term
    ORDER BY Name

【问题讨论】:

    标签: sql-server sql-server-2008 stored-procedures


    【解决方案1】:

    简单;

    set @Term = '%' + @Term + '%'
    

    您只需将 2 个常量字符串添加到变量中。

    【讨论】:

      【解决方案2】:

      正确的方法如下:

      set @FieldValue = '''' + @FieldValue + ''''
      

      【讨论】:

        猜你喜欢
        • 2011-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-08
        • 2015-01-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多