oon*_*alo 5 sql t-sql contains sql-server-2008
想象一个表 (table1) 有一个列 (column1) 和一个值为 'roll-over' 的记录。然后使用以下 SQL 查询,您将不会得到任何记录。
select * from table1 where contains(column1, ' "roll-over" ')
Run Code Online (Sandbox Code Playgroud)
有没有办法在搜索文本中转义连字符?到目前为止,我还没有成功尝试这个(我已经尝试了以下所有转义,但都没有成功)。
select * from table1 where contains(column1, ' "roll\-over" ')
select * from table1 where contains(column1, ' "roll!-over" ')
select * from table1 where contains(column1, ' "roll[-]over" ')
Run Code Online (Sandbox Code Playgroud)
另外,请注意我的应用程序无法使用 LIKE 关键字,因为我正在利用全文搜索索引。
看起来你可能无法做到这一点。读一下这篇文章:
他们建议仅搜索字母数字值(蹩脚)或使用 LIKE 子句(不适合您)。