我正在运行一个 TSQL 查询,该查询使用像这样的 CONTAINSTABLE 语句
CONTAINSTABLE(<Table A>, <TargetColumn>, '01100011')
这给了我正确的结果。但是,如果我使用
CONTAINSTABLE(<Table A>, <TargetColumn>, '0110001*')
相反,我得到 0 结果。有人可以向我解释一下为什么吗? AFAIK 通配符是这样支持的。
这是在 MSSQL Server 2008R2 上
提前致谢:-)
最佳答案
根据Jeroen's comment ,您需要将搜索词用双引号引起来(在单引号内)。
The documentation给出了例子 CONTAINS (Description, '"top*"' )
然后说
If the text and asterisk are not delimited by double quotation marks, as in
CONTAINS (DESCRIPTION, 'top')
, full-text search does not consider the asterisk to be a wildcard.
就您而言,CONTAINSTABLE(<Table A>, <TargetColumn>, '"0110001*"')
应该按您的预期工作。
关于sql-server - SQL CONTAINSTABLE 和通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45586596/