SSIS 2005/2008进行模糊查找和分组.是否有一个功能在T-SQL中执行相同的操作?
SQL Server有一个SOUNDEX()函数:
SELECT * FROM Customers WHERE SOUNDEX(Lastname) = SOUNDEX('Stonehouse') AND SOUNDEX(Firstname) = SOUNDEX('Scott')
模糊查找使用q-gram方法,将字符串分解为微小的子字符串并对其进行索引.然后,您可以通过将输入分成相同大小的字符串来搜索输入.您可以检查其索引的格式并编写CLR函数以使用相同的索引样式,但您可能正在讨论相当大的工作量.
实际上它们是如何做到的非常有趣,非常简单但提供非常强大的匹配并且非常易于配置.
从我回忆起上次查看时的索引,每个q-gram或子串都存储在表(索引)中的一行中.该行包含一个nvarchar列(以及其他值),用作二进制数据并包含对匹配行的引用.
Microsoft Connect还针对此功能提供了一个开放的反馈建议.