본문 바로가기

Oracle/Oracle Programming

[Oracle] 문자 처리 함수

반응형

■ 문자 처리 함수

함 수

설              명

 UPPER

 -. 대문자로 변환시킨다.

 LOWER  -. 소문자로 변환시킨다.
 INITCAP  -. 이니셜만 대문자로 변환시킨다.
 LENGTH  -. 문자열의 길이를 알려준다.
 INSTR  -. 특정문자가 출현하는 위치를 알려준다.
 SUBSTR  -. 문자의 일부분을 추출한다.
 LPAD  -. 오른쪽 정렬 후 왼쪽에 생긴 빈 공백에 특정 문자를 채운다.
 RPAD

 -. 왼쪽 정렬 후 오른쪽에 생긴 빈 공백에 특정 문자를 채운다.

 LTRIM  -. 왼쪽에서 특정 문자를 삭제한다.
 RTRIM -. 오른쪽에서 특정 문자를 삭제한다.


01) 대문자로 변환하는 UPPER 함수

UPPER 함수는 문자열을 모두 대문자로 변경한다.

SQL> SELECT UPPER('Welcome to oracle 10g')
         FROM dual;


특정칼럼을 모두 대문자로 출력한다.

SQL> SELECT UPPER(ename), UPPER(job)
         FROM emp;



02) 소문자로 변환하는 LOWER 함수

LOWER 함수는 문자열을 모두 소문자로 변경한다.

SQL> SELECT LOWER('Welcome to oracle 10g')
         FROM dual;


특정칼럼을 모두 소문자로 출력한다.

SQL> SELECT LOWER(ename), LOWER(job)
         FROM emp;



03) 이니셜만 대문자로 변환하는 INITCAP 함수

INITCAP 함수는 이니셜만 대문자로 변경합니다.

SQL> SELECT INITCAP('Welcome to oracle 10g')
         FROM dual;


② 사원명의 맨 처음 문자만 대문자로 출력하는 예제

SQL> SELECT INITCAP(ename), INITCAP(job)
         FROM emp;



04) 문자열의 길이를 알려주는 LENGTH 함수
① LENGTH 함수는 컬럼에 저장된 데이터 값이 몇 개의 문자로 구성되었는지 길이를 알려주는 함수

SQL> SELECT LENGTH('Welcome to oracle 10g')
         FROM dual;


② 사원의 이름이 몇 자인지 출력하는 예제

SQL> SELECT ename, LENGTH(ename)
         FROM emp;



05) 특정문자가 출현하는 위치를 알려주는 INSTR 함수
 -. INSTR 함수는 특정 컬럼에서 특정 문자가 나타나는 위치를 알려준다.


① 위치값을 선정하지 않고 문자 'o'를 찾는 경우

SQL> SELECT INSTR('Welcome to oracle 10g', 'o', 3, 2)

         FROM dual;


② 검색 시작 위치와 몇 번째 나오는 위치를 지정하고 문자 'o'를 찾는 경우

SQL> SELECT INSTR('Welcome to oracle 10g', 'o', 3, 2)
         FROM dual;


③ 이름에 'A'자가 몇 번째에 위치하는지 출력하는 예제

SQL> SELECT ename, INSTR(ename, 'A')
         FROM emp;



06) 문자의 일부분을 추출하는 SUBSTR 함수

 -. 문자열 내에서 문자열 일부만 추출해 내는 함수이다.


① 문자 'Welcome to oracle 10g'에서 4부터 시작해서 문자 3개를 추출한다.

SQL> SELECT SUBSTR('Welcome to oracle 10g', 4, 3)

         FROM dual;


사원이 몇 년도에 입사했는지 알기 위해서 입사 일(Hiredate)에서 연도만을 추출하는 예제

SQL> SELECT ename, hiredate, SUBSTR(hiredate 1, 2)

         FROM emp;


③ 두 번째 인자 값을 음수로 지정한 경우

SQL> SELECT ename, SUBSTR(ename, -3, 2)
         FROM emp;



07) 오른쪽 정렬 후 특정 문자를 왼쪽에 채우면서 삽입하는 LPAD 함수

LPAD 함수는 문자열이 일정한 크기가 되도록 왼쪽 빈공간에 지정한 문자를 삽입하는 함수이다.

    (지정한 문자가 없을 경우에는 공백으로 채워진다.)

SQL> SELECT LPAD('Oracle 10g', 20, '#')
         FROM DUAL;



08) 왼쪽 정렬 후 특정 문자를 왼쪽에 채우면서 삽입하는 RPAD 함수

RPAD 함수는 문자열이 일정한 크기가 되도록 오른쪽 빈공간에 지정한 문자를 삽입하는 함수이다.

    (지정한 문자가 없을 경우에는 공백으로 채워진다.)

SQL> SELECT RPAD('Oracle 10g', 20, '#')
         FROM dual;



09) 오른쪽에서 특정 문자를 삭제하는 RTRIM 함수

① RTRIM 함수는 문자열의 오른쪽(뒤)의 문자들을 삭제한다.

SQL> SELECT RTRIM('aaaOracle 10gaaa', 'a')
         FROM dual;


② 인자값을 주지 않은경우 RTRIM 함수는 문자열의 오른쪽(뒤)의 모든 공백을 삭제한다.

SQL> SELECT RTRIM('   Oracle 10g   ')
         FROM dual;



10) 왼쪽에서 특정 문자를 삭제하는 LTRIM 함수

① LTRIM 함수는 문자열의 왼쪽(앞)의 문자들을 삭제한다.

SQL> SELECT LTRIM('aaaOracle 10gaaa', 'a')
         FROM dual;


② 인자값을 주지 않은경우 LTRIM 함수는 문자열의 왼쪽(앞)의 모든 공백을 삭제한다.

SQL> SELECT LTRIM('   Oracle 10g   ')
         FROM dual;



11) 앞뒤에서 특정 문자를 삭제하는 TRIM 함수

 -. TRIM 함수는 문자열의 앞뒤에서 특정 문자를 삭제하는 문법이다.

    (RTRIM과 LTRIM과는 다르므로 주의한다.)


① 직원들 이름에서 문자열 앞뒤의 'A'를 삭제하는 예제

    (RTRIM과 LTRIM과는 다르게 from이라는 키워드가 사용된다.)

SQL> SELECT ename, TRIM('A' from ename)
         FROM emp;

※ 문자열 뒤에 'A'를 가지고 있는 값이 없음으로 본 예제는 뒤에서 'A'가 삭제 되었음을 확인 할 수 없지만 실제로는 삭제된다.


반응형