我正在运行一个使用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/