Как искать двойные кавычки в полнотекстовом поиске в sql

У меня есть двойные кавычки в моем ключевом слове. Как я могу найти это в своем полнотекстовом поисковом запросе. у меня есть этот запрос

SELECT  top 10 K.[KEY], 10, K.[RANK]
FROM    CONTAINSTABLE(ProductKeywords, Keywords, '("19*") AND ( "<Cat>5" OR "<Cat>30" OR "<Cat>398" ) AND NOT "<Blocked>"' ) AS k

Он отлично работает, но когда у меня есть двойные кавычки в моем ключевом слове, например

SELECT  top 10 K.[KEY], 10, K.[RANK]
FROM    CONTAINSTABLE(ProductKeywords, Keywords, '("19"*") AND ( "<Cat>5" OR "<Cat>30" OR "<Cat>398" ) AND NOT "<Blocked>"' ) AS k

это дает эту ошибку

Msg 7630, Level 15, State 3, Line 1
Syntax error near '*' in the full-text search condition '("19"*") AND ( "<Cat>5" OR "<Cat>30" OR "<Cat>398" ) AND NOT "<Blocked>"'.

person Ahmad Abbasi    schedule 09.04.2014    source источник
comment
попытайтесь избежать двойных кавычек с помощью \, например. '\'   -  person Furtano    schedule 10.04.2014


Ответы (2)


Чтобы избежать двойных кавычек, просто удвойте их, например

SELECT * FROM Tbl WHERE Contains(name, '""quoted""')
person danpop    schedule 11.04.2016

Как избежать двойных кавычек внутри Полнотекстовая функция SQL "содержит"?

SELECT TOP 10
    K.[KEY]
  , 10
  , K.[RANK]
FROM
    CONTAINSTABLE(ProductKeywords, Keywords, '("19*") AND ( "<Cat>5" OR "<Cat>30" OR "<Cat>398" ) AND NOT "<Blocked>"')
    AND Keywords LIKE '19"%'
    AS k
person gsc_dba    schedule 29.08.2014