연속된 공백을 하나의 공백으로 변경해보자.
10.1 이전 버전은 아래와 같이 REPLACE 함수를 3번 사용해야 한다.
1 2 3 4 5 6 7 8 9 10 11 |
-- 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 함수를 사용할 수 있다.
1 2 3 4 5 6 7 8 9 |
-- 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 |