database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 7080 게시물 읽기
No. 7080
REGEXP_REPLACE ??
작성자
Twins(tecle)
작성일
2017-07-19 07:57
조회수
3,143

ORACLE에서 REGEXP_REPLACE 함수를 사용하여 아래와 같은 결과물을 얻었습니다.

MS-SQL에서도 같은 결과물을 얻고자 하는데... 

도움좀 부탁드리겠습니다....

 

 REGEXP_REPLACE(juso, '[^ ]+([읍면동가로길] )', '**\1')

"서울시 영등포구 여의도동 123" -> "서울시 영등포구 ***동 123" 

 

이 글에 대한 댓글이 총 1건 있습니다.

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
;

마농(manon94)님이 2017-07-24 18:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7086group by가 안되는것 같아요 [2]
김우성
2017-08-17
2374
7085두개의 SELECT 한 값을 하나로 묶고싶어요 [2]
김우성
2017-08-13
2484
7081숫자 변환 문제.. [1]
도와주세요.
2017-07-19
2475
7080REGEXP_REPLACE ?? [1]
Twins
2017-07-19
3143
7079쿼리 순서 정렬 [2]
김지철
2017-07-13
2416
7078데이터 짤리는 현상(?)에 대해서 문의 드립니다.
goblin
2017-06-22
2431
7076쿼리 질문 드립니다. [2]
goblin
2017-06-07
2524
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다