考虑具有全文索引的列名MyCol
。我们希望找到值为|foo|
的行。
试过这个,但找不到完全 |foo|
的那些:
SELECT * FROM MyTable WHERE CONTAINS(MyCol,'"|foo|"')
它返回foo
的任何内容。似乎管道被忽略为分隔符。
如何逃避,或以其他方式确保找到确切的字符串|foo|
?
答案 0 :(得分:2)
逃脱:
SELECT * FROM MyTable WHERE CONTAINS(MyCol,'[|]foo[|]')
我认为这也有效:
SELECT * FROM MyTable WHERE CONTAINS(MyCol,'||foo||') ESCAPE '|'
糟糕,这是全文搜索。根据这个问题/答案,没有办法!: