对于某些背景信息,我正在创建一个应用程序,它会搜索几个索引表以检索某些记录。谷歌说它并不是一件非常复杂的事情,但除了这个奇怪的问题外,它对它所服务的目的来说已经足够了。
我正在使用Contains()
函数,并且它非常顺利,除非搜索包含数字字符串。现在,我只传入一个字符串 - 无法传递数值数据类型 - 只有字符。我们正在搜索一系列电子邮件,每个电子邮件都会在从工作流程中删除时附加自定义ID。因此,在测试时,我们决定通过数字字符串进行搜索。
在我们的测试中,我们隔离了一个0042600006
号,它只属于一个电子邮件主题。但是,在使用我们的查询时,我们会收到0042600001
,0042600002
等的结果。查询如下(有一些通用列代表):
SELECT description, subject FROM tableA WHERE CONTAINS((subject), '0042600006')
我们尝试了所有可能的组合:'0042600006*'
,'"0042600006"'
和'"0042600006*"'
。
我认为这只是功能的限制,但我认为这可能是最好的答案。提前致谢。
答案 0 :(得分:1)
最近问了同样的问题。请查看某人留给我的深刻答案here
这个用户所说的基本上是关闭噪音词(微软在全文搜索中将整数0-9包含为噪音)。希望你能像我现在一样使用这个很棒的工具和整数!
答案 1 :(得分:1)
尝试添加language 1033
作为附加参数。这与我的解决方案有关。
SELECT description, subject FROM tableA WHERE CONTAINS((subject), '0042600006', language 1033)
答案 2 :(得分:-1)
尝试使用 SELECT描述,主题FROM tableA WHERE CONTAINS((subject),'%0042600006%')