I've renamed the pure SQL functions somewhat, but here's an example of how I would call them from a stored procedure:
DECLARE @result FLOAT
SET @result = CalculateJaroWinkler('Bob','Bill')
PRINT @result
SET @result = CalculateJaroWinkler('Bob','Bub') --0.7999
PRINT @result
SET @result = CalculateJaroWinkler('Barnes','Banres') --0.9555
PRINT @result
Alternately, for a very primitive table compare example:
DECLARE @JaroThreshold FLOAT
SET @JaroThreshold = 0.9
SELECT top 500 LEFT(MyWord,2) AS LeftTwo, MyWord AS Word
INTO #tempA
FROM MyListOfWords
WHERE MyWord LIKE '__a%'
ORDER BY MyWord
ALTER TABLE #tempA ADD CONSTRAINT [PK_tempA] PRIMARY KEY CLUSTERED
(
[Word] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = ON, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
GO
SELECT top 500 LEFT(MyWord,2) AS LeftTwo, MyWord AS word
INTO #tempB
FROM MyListOfWords
WHERE MyWord LIKE '__a%'
ORDER BY MyWord
ALTER TABLE #tempB ADD CONSTRAINT [PK_tempB] PRIMARY KEY CLUSTERED
(
[Word] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = ON, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
GO
SELECT a.word, b.word, CalculateJaroWinkler(a.word,b.word)
FROM #tempA a
INNER JOIN #tempB b
ON b.LeftTwo = a.LeftTwo
AND b.Word <> a.Word
WHERE CalculateJaroWinkler(a.word,b.word) > @JaroThreshold
DROP TABLE #tempA
DROP TABLE #tempB