gpt4 book ai didi

sql - 使用全文搜索查找完全匹配

转载 作者:行者123 更新时间:2023-12-04 21:49:16 26 4
gpt4 key购买 nike

使用 Sql Server 2008,您如何使用全文搜索实际找到精确的字符串匹配。我对此感到非常困难,我无法在网上的任何地方找到令人满意的解决方案。

例如,如果我要搜索字符串“Bojan Skrchevski”,我希望第一个结果就是这样。

到目前为止,我已经尝试将字符串格式化为:“Bojan* NEAR Skrchevski*”并调用 CONTAINSTABLE 来获取结果,但是这个字符串被格式化为返回更多的结果,如 Bojana 和 Bojananana 等。我也尝试按排名排序,但仍然没有成功。

此外,在我的字符串中,我有一个数字序列,如:“3 1 7”,但使用当前格式,它也会返回“7 1 3”等。

例子:

DECLARE @var varchar(4000);
SET @var = '"Oxford*" NEAR 24 NEAR 7 NEAR 5 NEAR "London*"'
SELECT [Key] FROM CONTAINSTABLE(dbo.[MyTable], [MyField], @var);

我希望能够获得确切的顺序。结果不会得到“牛津 7 24 5 伦敦”。

如何格式化字符串以正确完成此操作?

最佳答案

有2个选项

1)
这将获得名称中包含 Mountain 的所有项目

SELECT Name, ListPrice
FROM Production.Product
WHERE ListPrice = 80.99
AND CONTAINS(Name, 'Mountain');
GO

2)
无论顺序如何,这都将获得文档中具有这 3 个字符串的所有项目
SELECT Title
FROM Production.Document
WHERE FREETEXT (Document, 'vital safety components' );

这取决于你真正想要什么,但我无法完全理解。

如果我错过了这一点,请发布一个样本以及结果应该是什么。

克,

克里斯托夫

关于sql - 使用全文搜索查找完全匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7965222/

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