Oracle/SQL2012. 4. 12. 00:13

연속된 공백을 하나의 공백으로 변경해보자.


10.1 이전 버전은 아래와 같이 REPLACE 함수를 3번 사용해야 한다.

 -- 1
SELECT REPLACE (c1, ' ', '! ') AS c1
     , REPLACE (REPLACE (c1, ' ', '! '), ' !') AS c2
     , REPLACE (REPLACE (REPLACE (c1, ' ', '! '), ' !'), '!') AS c3
  FROM (SELECT '1 2  3   4    5     ' AS c1 FROM DUAL);

C1                                  C2              C3        
----------------------------------- --------------- ----------
1! 2! ! 3! ! ! 4! ! ! ! 5! ! ! ! !  1! 2! 3! 4! 5!  1 2 3 4 5 

1개의 행이 선택되었습니다.


10.1 버전부터 REGEXP_REPLACE 함수를 사용할 수 있다.

-- 2
SELECT REGEXP_REPLACE ('1 2  3   4    5     ', ' +', ' ') AS c1
  FROM DUAL;

C1
----------
1 2 3 4 5 

1개의 행이 선택되었습니다.


'Oracle > SQL' 카테고리의 다른 글

주민등록번호 마스킹  (0) 2012.04.30
다중 행을 문자열로 집계  (0) 2012.04.16
구분자 포함 값을 행으로 분리  (0) 2012.04.13
연속 상승 구간 조회  (0) 2012.04.10
점 이력을 선분 이력으로 전환  (0) 2012.04.09
Posted by 정희락_