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语句完成,但我需要使用全文搜索功能.出于示例目的,我在此处提供的查询已从我的实际查询中简化.
来自文档:
标点符号被忽略.因此,
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)
这将保留全文的好处.