我正在运行一个使用CONTAINSTABLE语句的TSQL查询,就像这样

CONTAINSTABLE(<Table A>, <TargetColumn>, '01100011')


这给了我正确的结果。但是,如果我使用

CONTAINSTABLE(<Table A>, <TargetColumn>, '0110001*')


相反,我得到0结果。有人可以向我解释为什么吗?这样支持AFAIK通配符。

这是在MSSQL Server 2008R2上

提前致谢 :-)

最佳答案

根据Jeroen's comment,您需要用双引号(在单引号内)括住搜索词。

The documentation给出示例CONTAINS (Description, '"top*"' )然后说


如果文本和星号没有用双引号引起来,例如CONTAINS (DESCRIPTION, 'top'),则全文搜索不会将星号视为通配符。


在您的情况下,CONTAINSTABLE(<Table A>, <TargetColumn>, '"0110001*"')应该可以按预期工作。

关于sql-server - TSQL CONTAINSTABLE和通配符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45586596/

10-11 02:46