• Your other function would look something like this:

    CREATE FUNCTION dbo.hd_iTVF (@s1 varchar(8000), @s2 varchar(8000))

    RETURNS TABLE WITH SCHEMABINDING

    AS

    RETURN(

    WITH

    nums(n) AS (SELECT ROW_NUMBER() OVER (ORDER BY (SELECT 0)) FROM [master].dbo.spt_values Tally),

    matrix AS (SELECT SUBSTRING(@s1,n,1) s1, SUBSTRING(@s2,n,1) s2 FROM nums WHERE n<=LEN(@s1))

    SELECT CASE WHEN LEN(@s1)<>LEN(@s2) THEN NULL ELSE COUNT(*) END hd

    FROM matrix

    WHERE s1 <> s2);

    GO