代码之家  ›  专栏  ›  技术社区  ›  ScottStonehouse

是否可以在没有SSIS的情况下执行T-SQL模糊查找?

  •  9
  • ScottStonehouse  · 技术社区  · 17 年前

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

    4 回复  |  直到 10 年前
        1
  •  7
  •   vfilby    17 年前

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

    实际上,他们是如何做到这一点的,非常简单,但提供了非常健壮的匹配,并且是非常可配置的。

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

    还有一个开放的反馈建议 Microsoft Connect 对于此功能。

        2
  •  7
  •   Ian Boyd    17 年前

    SQL Server具有soundex()函数:

    SELECT * 
    FROM Customers
    WHERE SOUNDEX(Lastname) = SOUNDEX('Stonehouse')
    AND SOUNDEX(Firstname) = SOUNDEX('Scott')
    
        3
  •  3
  •   Josef    17 年前

    全文搜索是一个很好的模糊工具。 Brief primer here

        4
  •  1
  •   Ira Warren Whiteside    17 年前

    2009年3月5日,我将在www.sqlservercentral.com上发布一篇文章,其中包含一个jaro winkler tsql示例。