9

SSIS 2005/2008 进行模糊查找和分组。在 T-SQL 中是否有相同的功能?

4

4 回答 4

7

SQL Server 有一个 SOUNDEX() 函数:

SELECT * 
FROM Customers
WHERE SOUNDEX(Lastname) = SOUNDEX('Stonehouse')
AND SOUNDEX(Firstname) = SOUNDEX('Scott')
于 2008-10-29T17:18:57.777 回答
7

模糊查找使用 q-gram 方法,通过将字符串分解成微小的子字符串并对它们进行索引。然后,您可以通过将输入分解为相同大小的字符串来搜索输入。您可以检查其索引的格式并编写一个 CLR 函数以使用相同样式的索引,但您可能正在谈论相当多的工作。

实际上他们是如何做到的非常有趣,非常简单但提供了非常强大的匹配并且非常可配置。

我记得上次查看索引时的索引,每个 q-gram 或子字符串都存储在表(索引)中的一行中。该行包含一个 nvarchar 列(以及其他值),用作二进制数据并包含对匹配行的引用。

Microsoft Connect上也有针对此功能的公开反馈建议。

于 2008-10-29T22:22:18.413 回答
3

全文搜索是一个很棒的模糊工具。此处简要介绍

于 2008-10-29T17:28:36.463 回答
1

2009 年 3 月 5 日,我将在 www.sqlservercentral.com 上发布一篇文章,其中包含 Jaro-Winkler TSQL 示例

于 2009-02-21T16:13:33.017 回答