#title String Compare [[TableOfContents]] ==== 문제 ==== 다음과 같은 문제가 커뮤니티에 떳다. 벌써 아는 지인이 답글을 달았더라..답글과 더블어 풀이를 해본다. {{{ '경기 고양시 일산서구 대화동 장성마을1단지아파트' '경기 고양시 일산서구 대화동 장성3단지 305-502' 위 두 문장을 비교하여 일치하는 단어의 갯수를 구하는 함수가 있는지 알고 싶습니다. 결과 값으로 18개 단어가 일치하므로 18의 값을 얻고 싶습니다. 좋은 해결책이 있다면 도움 바랍니다. }}} 출처: http://www.sqler.com/191203#2 ==== 솔루션 ==== {{{ DECLARE @str1 NVARCHAR(100) DECLARE @str2 NVARCHAR(100) DECLARE @len INT SET @str1='경기 고양시 일산서구 대화동 장성마을단지아파트' SET @str2='경기 고양시 일산서구 대화동 장성단지 305-502' SET @len = CASE WHEN LEN(@str1) > LEN(@str2) THEN LEN(@str1) ELSE LEN(@str2) END ;WITH Dumy AS ( SELECT 1 Seq UNION ALL SELECT Seq + 1 FROM Dumy WHERE Seq + 1 <= @len ) SELECT COUNT(*) Cnt , SUBSTRING(@str1, 1, COUNT(*)) str FROM Dumy WHERE Seq <= @len AND SUBSTRING(@str1,Seq,1) = SUBSTRING(@str2,Seq,1) OPTION (MAXRECURSION 0); /* Cnt str ----------- --------------------------------------------- 18 경기 고양시 일산서구 대화동 장성 */ }}}