ORACLE에서 REGEXP_REPLACE 함수를 사용하여 아래와 같은 결과물을 얻었습니다.
MS-SQL에서도 같은 결과물을 얻고자 하는데...
도움좀 부탁드리겠습니다....
REGEXP_REPLACE(juso, '[^ ]+([읍면동가로길] )', '**\1')
"서울시 영등포구 여의도동 123" -> "서울시 영등포구 ***동 123"
WITH t AS ( SELECT 1 idx, '서울시 영등포구 여의도동 123' addr UNION ALL SELECT 2, '서울시 도봉구 도봉동 도봉순네집' ) , t1 AS ( SELECT idx , addr , CHARINDEX(' ', addr+' ', 0 + 1) p , SUBSTRING(addr, 0 + 1, CHARINDEX(' ', addr+' ', 0 + 1) - (0 + 1)) x FROM t UNION ALL SELECT idx , addr , CHARINDEX(' ', addr+' ', p + 1) p , SUBSTRING(addr, p + 1, CHARINDEX(' ', addr+' ', p + 1) - (p + 1)) x FROM t1 WHERE CHARINDEX(' ', addr+' ', p + 1) > 0 ) SELECT idx , addr , STUFF((SELECT ' ' + CASE WHEN x LIKE '%[읍면동가로길]' THEN '***' + RIGHT(x, 1) ELSE x END FROM t1 s WHERE s.idx = m.idx ORDER BY p FOR XML PATH('') ), 1, 1, '') addr_mask FROM t m ;