如何在SQL全文'包含'函数中转义双引号?

Ric*_*ies 7 sql sql-server escaping

如何在MS SQL"包含"函数中转义双引号字符?

SELECT decision
FROM table 
WHERE CONTAINS(decision, '34" AND wide')
Run Code Online (Sandbox Code Playgroud)

通常contains()期望双引号括起一个匹配的精确短语,但我想搜索一个实际的双引号字符.我试过用\,`,甚至是另一个双引号来逃避它,但这些都没有奏效.

PS我意识到这样一个简单的例子也可以使用LIKE语句完成,但我需要使用全文搜索功能.出于示例目的,我在此处提供的查询已从我的实际查询中简化.

Qua*_*noi 5

来自文档:

标点符号被忽略.因此,CONTAINS(testing, "computer failure")将一行与值"我的计算机在哪里?未找到它将会很昂贵"匹配.

由于FULLTEXT甚至没有为标点符号编制索引,因此您需要使用LIKE以下内容对结果进行精细过滤:

SELECT  decision
FROM    table 
WHERE   CONTAINS(decision, '34 AND wide')
        AND decision LIKE '%34"%'
Run Code Online (Sandbox Code Playgroud)

这将保留全文的好处.