在全文索引列中搜索管道字符

时间:2011-04-01 22:23:17

标签: sql-server tsql full-text-search

考虑具有全文索引的列名MyCol。我们希望找到值为|foo|的行。

试过这个,但找不到完全 |foo|的那些:

SELECT * FROM MyTable WHERE CONTAINS(MyCol,'"|foo|"')

它返回foo的任何内容。似乎管道被忽略为分隔符。

如何逃避,或以其他方式确保找到确切的字符串|foo|

1 个答案:

答案 0 :(得分:2)

逃脱:

SELECT * FROM MyTable WHERE CONTAINS(MyCol,'[|]foo[|]')

我认为这也有效:

SELECT * FROM MyTable WHERE CONTAINS(MyCol,'||foo||') ESCAPE '|'

糟糕,这是全文搜索。根据这个问题/答案,没有办法!

<强> sql-server-full-text-search-escape-characters

相关问题