gpt4 book ai didi

sql 包含查询不返回已知答案

转载 作者:行者123 更新时间:2023-12-01 06:06:51 25 4
gpt4 key购买 nike

上下文:这是我从一个更大的存储过程中切出的部分,发现这是导致我错误的部分。

我有一个数据表,简单地说它包含 2 条记录:

[Title]
Mitchell
Andrew

我有一个 super 简单的查询:
SELECT TOP 1 
[Title]
FROM [Post] p
where CONTAINS (p.Title, '"Andrew"' )

这成功返回 1 行(这显示了该列上需要的任何索引都有效),但是:
SELECT TOP 1 
[Title]
FROM [Post] p
where CONTAINS (p.Title, '"Mitchell"' )

不返回任何行。

我知道它是可选的,因为这确实返回了行:
SELECT TOP 1   
[Title]
FROM [Post] p
where title like 'Mitchell'

我认为数据有误,因为当我在数据库的本地备份上运行它时,它返回的行很好。

所以我的问题是我还能做些什么来调查故障?

当前尝试重建索引(尽管此列未明确编入索引)

最佳答案

您似乎正在使用 CONTAINS不正确。根据documentation ,搜索到的文本是 , 表示不带空格或标点符号的字符串。因此'"Mitchell"'作为搜索词无效。令人惊讶的不是它不返回任何行,而是 '"Andrew"'做。

您需要吗CONTAINS ,及其所有的复杂性?您提供的数据(我的理解是简化的)甚至不需要模式匹配,更不用说匹配变形形式和同义词了。 ( AndrewMitchell 没有屈折形式或同义词。)一个简单的 =就足够了。

所以,答案是,你做错了。如 CONTAINS不需要,通过使用更直接的东西来简化您的查询和您的生活。并且,无论是否存在,请提供与您正在使用的函数的数据和语义一致的搜索词。

关于sql 包含查询不返回已知答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com