0
考虑具有全文索引的列名称MyCol
。我们想要找到那些值为|foo|
的行。在全文索引列中搜索管道字符
想这一点,但没有找到那些正好|foo|
:
SELECT * FROM MyTable WHERE CONTAINS(MyCol,'"|foo|"')
它与foo
返回任何东西。看起来好像管道被忽视为分隔符。
我该如何逃避或确保找到确切的字符串|foo|
?
考虑具有全文索引的列名称MyCol
。我们想要找到那些值为|foo|
的行。在全文索引列中搜索管道字符
想这一点,但没有找到那些正好|foo|
:
SELECT * FROM MyTable WHERE CONTAINS(MyCol,'"|foo|"')
它与foo
返回任何东西。看起来好像管道被忽视为分隔符。
我该如何逃避或确保找到确切的字符串|foo|
?
转义:
SELECT * FROM MyTable WHERE CONTAINS(MyCol,'[|]foo[|]')
我觉得这个工作太:
SELECT * FROM MyTable WHERE CONTAINS(MyCol,'||foo||') ESCAPE '|'
哎呀,这是全文搜索。根据这个问题/答案,没有办法!: