2012-09-12 104 views
2

这里是我的存储过程。sql server 2008存储过程,不能在单引号中使用变量

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 

回答

6

简单地说;

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

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

+0

太感谢你了。这样可行。 – qinking126

0

正确的方法是如下:

set @FieldValue = '''' + @FieldValue + '''' 
相关问题