ORACLE 관련

문자 치환 함수 replace 함수

달콤한부자 2015. 2. 28. 23:13

오라클 / Oracle replace 함수로 문자열 치환하기

 

▣ 문법 및 사용 방법

 

사용법  REPLACE(string, search_string, replace_string)

 

string의 문자열 중 search_sting을 찾아 replace_string로 치환 합니다.

​고객 정보 테이블에 전화번호가 PHONE이라는 컬럼으로 저장이 되어있고, 그 포멧은 010-xxxx-yyyy 라고 가정을 하고 어떻게 사용을 하면 되는지 예를 들어보겠습니다.

 

 

 

1) SELECT시 사용 법 

→ 010xxxxyyyy의 포멧으로 데이터를 추출 해야 하는 경우

SELECT REPLACE(PHONE, '-', '') FROM 고객정보;

이렇게 '-' 문자열을 공백으로 치환 해주면 '-'가 제거된 010xxxxyyyy 형식의 전화번호를 리턴 받을 수 있습니다.

 

 

2) UPDATE시 사용 법

010xxxxyyyy의 포멧으로 PHONE2 컬럼에 저장을 해야하는 경우

UPDATE 고객정보 SET PHONE2 = REPLACE(PHONE, '-', '');

 

3) 값에 엔터값이 있을경우

REPLACE(REPLACE(string,CHR(13),''),CHR(10),'');

 

* 참고 Chr(13) 값과 Chr(10) 정의

Chr(13)동일한 줄의 첫번째 자리에 커서를 위치 시킵니다. 이것을 캐리지 리턴 이라고 합니다.

Chr(10)현재 커서가 위치한 곳에서 아래로 한줄 내리는 기능을 담당합니다. 이것을 라인피드 라고 합니다.

즉, 우리가 키보드의 엔터키를 치면 눈에는 다음줄 처음으로 이동하지만

내부적으로는 현재 줄의 첫번째 자리에 커서가 갔다가 다음줄로 내려서는 것입니다.