• Here's one, but it's not quick and I can't think of a way to make it quick, but maybe someone else can.

    CREATE FUNCTION FindDifferenceCount(@string1 AS VARCHAR(50), @string2 AS VARCHAR(50))

    RETURNS TABLE

    WITH SCHEMABINDING

    AS

    RETURN(

    WITH

    N(N) AS (

    SELECT 1 FROM (VALUES (1),(1),(1),(1),(1),(1),(1),(1)) N (N)

    ) -- 8 rows

    , TALLY (N) AS (

    SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) FROM N N1, N N2

    ) -- 64 rows (input strings are 50, so 64 is more than enough)

    , LETTERS1(L,P) AS (

    SELECT SUBSTRING(@string1, T.N, 1), ROW_NUMBER() OVER(PARTITION BY SUBSTRING(@string1, T.N, 1) ORDER BY (SELECT NULL))

    FROM TALLY T

    WHERE SUBSTRING(@string1, T.N, 1) LIKE '[a-zA-Z]' COLLATE Latin1_General_BIN

    ) -- Select only the letters and an ordinal from @string1

    , LETTERS2(L,P) AS (

    SELECT SUBSTRING(@string2, T.N, 1), ROW_NUMBER() OVER(PARTITION BY SUBSTRING(@string2, T.N, 1) ORDER BY (SELECT NULL))

    FROM TALLY T

    WHERE SUBSTRING(@string2, T.N, 1) LIKE '[a-zA-Z]' COLLATE Latin1_General_BIN

    )

    SELECT DISTINCT

    CASE -- Find the largest number of differences

    WHEN COUNT(R1.L) OVER() > COUNT(R2.L) OVER() THEN COUNT(R1.L) OVER()

    ELSE COUNT(R2.L) OVER()

    END AS DIFFERENCES

    FROM LETTERS1 R1

    FULL OUTER JOIN LETTERS2 R2

    ON R2.L = R1.L

    AND R2.P = R1.P

    WHERE R1.L IS NULL OR R2.L IS NULL -- We only care if there is no match

    );

    MM



    select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);

  • Forum Etiquette: How to post Reporting Services problems
  • [/url]
  • Forum Etiquette: How to post data/code on a forum to get the best help - by Jeff Moden
  • [/url]
  • How to Post Performance Problems - by Gail Shaw
  • [/url]