SQL Server 全文出现句点字符问题

发布于 2024-11-06 20:07:32 字数 446 浏览 0 评论 0原文

我有这些行:

  • ROW 1 包含:How to .405
  • ROW 2 包含:How to 405

当我使用 contains 查询时,例如: 包含( FIELDNAME, '"405"' )

或者此查询: Contains( FIELDNAME, '"405*"' )

由于句点的原因,我只得到了 ROW 2,但没有得到 ROW 1。

我尝试创建一个空的非索引字表并将其分配给全文,但它不起作用。 我尝试了 FREETEXT 查询,它也不起作用。

奇怪的是,当我在 ROW 1 的值中再添加一个字符(如何 0.405M)时,它起作用了......

仅使用“405”查询时如何返回 ROW 1 ?

谢谢

I have these rows :

  • ROW 1 containing: How to .405
  • ROW 2 containing: How to 405

When i use the contains query such as :
Contains( FIELDNAME, '"405"' )

Or this query :
Contains( FIELDNAME, '"405*"' )

I got only the ROW 2 but not the ROW 1 because of the period.

I tried creating an empty stoplist and assigned it to the fulltext, it does not work.
I tried the FREETEXT query, it does not work also.

What is weird is when i add one caracter more to the value of ROW 1 (How to .405M), it works....

How to return also the ROW 1 when querying with only "405" ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜唯美灬不弃 2024-11-13 20:07:32

好吧,这是一个有点老的问题,但是:

您没有告诉您正在使用什么语言,所以我假设您使用的是英语。

发生这种情况是因为 0.405 被视为数字。在英语中,0.405 是一个十进制值,表示 0.405。因此 ft 搜索将尝试查找小数部分为 405 的数字。 Ft 还将尝试找到类似于 0.405 的四舍五入数字。

您应该检查我的问题: sql-server-2008-fulltext-rounding-money-值

Well, a bit old question but:

You did not tell what language you are using, so I will assume you are using english.

That happens because .405 is treated like a number. In English, .405 is a decimal value meaning 0.405. So the ft search will try to find numbers with 405 in the decimal part of them. Ft will also try to find rounded numbers similar to .405.

You should check my question: sql-server-2008-fulltext-rounding-money-value

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文