如何在MS SQL“包含”函数中转义双引号字符?
SELECT decision FROM table WHERE CONTAINS(decision, '34" AND wide')
通常contains()期望双引号将一个精确的短语括起来以匹配,但是我想搜索一个实际的双引号字符。我尝试用\,`甚至另一个双引号将其转义,但是没有一个起作用。
PS我意识到也可以使用LIKE语句来完成类似这样的简单示例,但是我需要使用全文本搜索功能。出于示例目的,我在此处提供的查询已从我的实际查询中简化了。
从 文档 :
标点符号被忽略。因此,CONTAINS(testing, "computer failure")将行与值 “我的电脑在哪里?找不到它会很昂贵” 匹配 。
CONTAINS(testing, "computer failure")
由于FULLTEXT甚至没有索引标点符号,因此您需要使用来对结果进行精细过滤LIKE:
FULLTEXT
LIKE
SELECT decision FROM table WHERE CONTAINS(decision, '34 AND wide') AND decision LIKE '%34"%'
这将保留全文的好处。