【发布时间】:2010-09-19 20:15:51
【问题描述】:
SSIS 2005/2008 进行模糊查找和分组。 T-SQL 中是否有相同的功能?
【问题讨论】:
标签: sql-server tsql ssis fuzzy-search
SSIS 2005/2008 进行模糊查找和分组。 T-SQL 中是否有相同的功能?
【问题讨论】:
标签: sql-server tsql ssis fuzzy-search
模糊查找使用 q-gram 方法,通过将字符串分解成微小的子字符串并对它们进行索引。然后,您可以通过将输入分解为相同大小的字符串来搜索输入。您可以检查其索引的格式并编写一个 CLR 函数来使用相同样式的索引,但您可能正在谈论相当多的工作。
实际上他们是如何做到的非常有趣,非常简单但提供了非常强大的匹配并且非常可配置。
我记得上次查看索引时,每个 q-gram 或子字符串都存储在表(索引)中的一行中。该行包含一个 nvarchar 列(以及其他值),用作二进制数据并包含对匹配行的引用。
Microsoft Connect 上也有针对此功能的公开反馈建议。
【讨论】:
SQL Server 有一个 SOUNDEX() 函数:
SELECT *
FROM Customers
WHERE SOUNDEX(Lastname) = SOUNDEX('Stonehouse')
AND SOUNDEX(Firstname) = SOUNDEX('Scott')
【讨论】:
全文搜索是一个很棒的模糊工具。 Brief primer here
【讨论】:
2009 年 3 月 5 日,我将在 www.sqlservercentral.com 上发布一篇文章,其中包含 Jaro-Winkler TSQL 示例
【讨论】: