sql-server - SQL CONTAINSTABLE 和通配符

标签 sql-server tsql containstable

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

相关文章:

SQL Server、ISABOUT、加权项

c# - 显示 HH :mm from decimal (H. m)

sql-server - SQL Server 中的 LDF 文件是什么?

mysql - SQL 设置子查询,其中值来自主查询

c# - 使用 C# 从 NVarchar(Max) 列流式传输数据

sql - 存储过程 WHERE LIKE ID 或 NAME

sql-server - SQL Server 全文索引包含搜索完全匹配包含 "it"

sql - T-SQL 中数字类型的优先级

sql - SQL 的月差

sql-server - SQL Server ContainsTable 未返回术语 "inn"的结果