我不太明白为什么我会从以下查询/语句中得到意外结果。我已经包含了复制问题的代码(这可能根本不是问题,但更多的是我对如何contains工作的误解)。
创建表 dbo.temp (id int identity, description nvarchar(max))
插入 dbo.temp 值('这是一个网站。')——这条记录将在选择查询中返回
insert dbo.temp values ('a website exists.') --这条记录将在select中返回
插入 dbo.temp 值('go to mywebsite.net')——该记录不会在选择中返回
插入 dbo.temp 值(“转到 mywebsite.net。”)——该记录不会在选择中返回
创建全文目录临时
在 dbo.temp (id) 上创建唯一索引 idx_dbo_temp_1
在 dbo.temp(description) 上创建全文索引
temp 上的键索引 idx_dbo_temp_1
使用 change_tracking 自动
声明 @search_client nvarchar(100) = '网站'
选择
*
从
dbo.temp
在哪里
包含((描述),@search_client)
在 dbo.temp 上删除全文索引
在 dbo.temp 上删除索引 idx_dbo_temp_1
删除全文目录临时
删除表 dbo.temp
该查询将返回website描述字段中的记录,但不会返回描述字段中的记录mywebsite.net。
有什么想法吗?
更新:该@search_client变量实际上是通过 SSRS 传入的参数,因此声明了该变量以模拟传入的参数。