2

これが私のストアドプロシージャです。

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
4

2 に答える 2

6

単に;

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

変数に2つの定数文字列を追加するだけです。

于 2012-09-12T14:41:38.713 に答える
0

正しい方法は次のとおりです。

set @FieldValue = '''' + @FieldValue + ''''
于 2013-05-09T10:58:32.607 に答える