1) REPLACE
지정된 문자열을 치환한다.
SELECT REPLACE('a1b2c4','a1') FROM DUAL;
-> 결과는 a1을 지운 결과 'b2c4'가 나온다.
SELECT REPLACE('a1b2c4','a1','BB') FROM DUAL;
-> 결과는 a1을 BB로 대체해 'BBb2c4'가 나온다
2) TRANSLATE
지정된 문자를 치환한다.
SELECT TRANSLATE('a1a2a3a4a5','a','A') FROM DUAL;
->결과 : A1A2A3A4A5
SELECT TRANSLATE('a1b2c3d4e5','abcde','01234') FROM DUAL;
->결과 : 0112233445
SELECT TRANSLATE(VAR_PHONE, '1234567890'||VAR_PHONE, '1234567890')
FROM(
SELECT '안9녕8하7세6요5 4H3 2입1니0다.*.*' as VAR_PHONE FROM DUAL);
-> 결과: 9876543210
3) 차이점
REPLACE와 TRANSLATE의 차이점은 문자열 단위, 문자단위의 차이이다.
4) 응용
CREATE OR REPLACE FUNCTION parse_int( -- 함수이름
VAR_String VARCHAR2 -- 변수
)
RETURN VARCHAR2
IS
VAR VARCHAR2(13); --var 로 리턴한다
BEGIN
VAR :=TRANSLATE(VAR_String, '1234567890'||VAR_String, '1234567890') ;
RETURN VAR; --var에 var_String에서 숫자가 아닌 것들을 제외하고 저장
END parse_int;
parse_int 라는 함수를 만들어서 숫자를 제외한 모든 문자를 제거하고 리턴한다.
'IT > 오라클' 카테고리의 다른 글
오라클 함수 만들기 기본 (휴대폰 번호 체크) (0) | 2014.07.09 |
---|---|
오라클 서브쿼리 (Oracle subquery) (0) | 2014.07.09 |
오라클 데이터 조회(SELECT) 삽입(INSERT) 수정(UPDATE) 삭제(DELETE) (0) | 2014.07.09 |
오라클 시퀀스(sequence) 생성 조회 삭제 (0) | 2014.07.09 |
오라클 테이블 생성, 조회, 수정, 삭제 ,주키(PK), 외래키(FK) (2) | 2014.07.09 |