Here is a nice function that works for up to 8 characters!
CREATE
FUNCTION dbo.fnFirstDifference
(
@FirstString VARCHAR(8),
@SecondString VARCHAR(8)
)
RETURNS VARCHAR(17)
AS
BEGIN
DECLARE @var VARBINARY(8),
@pos TINYINT
SELECT @var = CAST(CAST(@FirstString AS BINARY(8)) AS BIGINT) ^ CAST(CAST(@SecondString AS BINARY(8)) AS BIGINT),
@pos = PATINDEX('%[^0]%', SUBSTRING(master.dbo.fn_sqlvarbasetostr(@var), 3, 16)),
@pos = (1 + @pos) / 2
RETURN LEFT(@FirstString, @pos) + '-' + LEFT(@SecondString, @pos)
END
N 56°04'39.16"
E 12°55'05.25"