2014-10-06 2 views
0

Я пытаюсь выполнить хранимую процедуру поиска в полнотекстовом поиске. Он сохраняет ключевое слово/термин поиска в параметре, который передается ему из веб-формы.Как разместить кавычки вокруг параметра SQL?

Одно слово поиска работает нормально, но когда я ищу фразу типа «Xbox One», тогда она терпит неудачу. Я знаю, что мне нужно окружить фразу в кавычках, чтобы она работала, но поскольку ее параметризованный я не знаю, как ее достичь.

Вот как мой код выглядит:

DECLARE @SearchTerm nvarchar(1000) 
    SELECT 
     ProductName 
    FROM 
     dbo.Products p1 
    WHERE 
     CONTAINS((p1.ProductName), @SearchTerm) 

Мне нужно поместить параметр @SearchTerm так: N' "@SearchTerm" ' но, очевидно, не работает, как есть.

Как я могу разрешить поиск фразы CONTAINS с пробелами в строках, когда я использую параметр для хранения SearchTerm?

+1

Довольно уверен, что вы можете просто объединить их. 'N '' '+ @SearchTerm +'" '' – paqogomez

ответ

1

Вы пытались:

DECLARE @SearchTerm nvarchar(1000) 
SET @SearchTerm = N'"' + @SearchTerm + N'"' 
SELECT 
    ProductName 
FROM 
    dbo.Products p1 
WHERE 
    CONTAINS((p1.ProductName), @SearchTerm) 
+0

Вау, это просто решило мою проблему красиво! –

Смежные вопросы