When I compare two strings in SQL Server, there are couple of simple ways with = or LIKE.
I want to redefine equality as:
If
A VERY simple way to do this... JC65100
ALTER FUNCTION [dbo].[ITS_GetDifCharCount]
(
@str1 VARCHAR(MAX)
,@str2 VARCHAR(MAX)
)
RETURNS INT
AS
BEGIN
DECLARE @result INT
SELECT @result = COUNT(*)
FROM dbo.ITS_CompareStrs(@str1,@str2 )
RETURN @result
END
ALTER FUNCTION [dbo].[ITS_CompareStrs]
(
@str1 VARCHAR(MAX)
,@str2 VARCHAR(MAX)
)
RETURNS
@Result TABLE (ind INT, c1 char(1), c2 char(1))
AS
BEGIN
DECLARE @i AS INT
,@c1 CHAR(1)
,@c2 CHAR(1)
SET @i = 1
WHILE LEN (@str1) > @i-1 OR LEN (@str2) > @i-1
BEGIN
IF LEN (@str1) > @i-1
SET @c1 = substring(@str1, @i, 1)
IF LEN (@str2) > @i-1
SET @c2 = substring(@str2, @i, 1)
INSERT INTO @Result([ind],c1,c2)
SELECT @i,@c1,@c2
SELECT @i=@i+1
,@c1=NULL
,@c2=NULL
END
DELETE FROM @Result
WHERE c1=c2
RETURN
END