ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle 함수(Function) - 문자 처리 함수
    데이터베이스/Oracle 2020. 11. 9. 15:49
    728x90
    반응형

    함수(Function)

    함수란 하나의 큰 프로그램에서 반복적으로 사용되는 부분들을 분리하여 작성해 놓은 작은 서브 프로그램 호출하며 값을 전달하면 결과를 리턴하는 방식으로 사용된다.

     

     

    1) 단일행 함수

    각 행마다 반복적으로 적용되어 입력 받은 행의 개수만큼 결과 반환한다.

     

    2) 그룹 함수

    특정 행들의 집합으로 그룹이 형성되어 적용됨 그룹 당 1개의 결과 반환한다.

     

     

    문자 처리 함수

    여러가지 문자 처리 함수들을 알아보자

     

     

    LENGTH

    LENGTH는 주어진 컬럼 값/문자열의 길이(문자 개수) 반환한다.

    - CHAR | STRING : 문자 타입 컬럼 또는 문자열

     

    [ LENGTH 예시 ]

    SELECT EMP_NAME, LENGTH(EMP_NAME), EMAIL, LENGTH(EMAIL)
    FROM EMPLOYEE;

     

     

    LENGTHB

    LENGHTB는 주어진 컬럼 값/문자열의 길이(BYTE)로 반환한다.

    - CHAR | STRING : 문자 타입 컬럼 또는 문자열

     

    [ LENGTHB 예시 ]

    SELECT EMP_NAME, LENGTHB(EMP_NAME), EMAIL, LENGTHB(EMAIL)
    FROM EMPLOYEE;

     

     

    INSTR

    INSTR지정한 위치부터 지정한 숫자 번째로 나타나는 문자의 시작 위치 반환한다.

    - STRING : 문자 타입 컬럼 또는 문자열

    - STR : 찾으려는 문자열

    - POSITION : 찾을 위치 시작 값(기본 값 1)

      POSITION > 0 이면 STRING의 시작부터 끝 방향으로 찾고

      POSITION < 0 이면 STRING의 끝부터 시작 방향으로 찾는다

    - OCCURRENCE : SUBSTRING이 반복될 때 지정하는 빈도(기본 값 1), 음수 사용 불가

     

    [ INSTR 예시 ]

     

    EMAIL 컬럼의 문자열 중 ‘@’의 위치를 구하시오.

    SELECT EMAIL, INSTR(EMAIL, '@', -1, 1) 위치
    FROM EMPLOYEE;
    

     

     

    LTRIM / RTRIM

    LTRIM / RTRIM이란 주어진 컬럼, 문자열의 왼쪽(LTRIM) / 오른쪽(RTRIM)에서

    지정한 STR에 포함된 모든 문자를 제거한 나머지를 반환한다.

    - STRING : 문자 타입 컬럼 또는 문자열 

    - STR : 제거하려는 문자(열), 생략 시 공백문자

     

    [ LTRIM / RTRIM 예시 ]

    SELECT EMP_NAME, LTRIM(PHONE, '010'), RTRIM(EMAIL, '@kh.or.kr') 
    FROM EMPLOYEE;

     

     

     

     

    TRIM

    TRIM이란 주어진 컬럼, 문자열의 앞/뒤/양쪽에 있는 지정한 문자를 제거한 나머지 반환한다.

    - STRING : 문자 타입 컬럼 또는 문자열

    - CHAR : 제거하려는 문자(열), 생략 시 공백문자

    - LEADING : TRIM할 CHAR의 위치 지정, 앞(LEADING)/뒤(TRAILING)/양쪽(BOTH) 지정 가능(기본 값 양쪽)

     

    [ TRIM 예시 ]

     

     

    SUBSTR

    SUBSTR이란 컬럼이나 문자열에서 지정한 위치부터 지정한 개수의 문자열잘라내어 반환한다.

    - STRING : 문자 타입 컬럼 또는 문자열

    - POSITION : 문자열을 잘라낼 위치로 양수면 시작방향에서 지정한 수만큼,

                     음수면 끝 방향에서 지정한 수만큼의 위치 의미

    - LENGTH : 반환할 문자 개수(생략 시 문자열의 끝까지 의미, 음수면 NULL 리턴)

     

    [ SUBSTR 예시 ]

     

     

    LPAD / RPAD

    LPAD / RPAD란 주어진 컬럼, 문자열에 임의의 문자열을 왼쪽/오른쪽덧붙여 길이 N의 문자열 반환한다.

     

    - STRING : 문자 타입 컬럼 또는 문자열

    - N : 반환할 문자(열)의 길이(바이트), 원래 STRING의 길이보다 작다면 N만큼 잘라서 표시

    - STR : 덧붙이려는 문자(열), 생략 시 공백문자

     

    [ LPAD / RPAD 예시 ]

    LPAD 예 

    SELECT LPAD(EMAIL, 20, '#')
    FROM EMPLOYEE;

     

    RPAD

    SELECT RPAD(EMAIL, 20, '#')
    FROM EMPLOYEE;
    

     

     

    LOWER / UPPER / INITCAP

    LOWER : 컬럼의 문자 혹은 문자열을 소문자로 변환하여 반환한다.

    UPPER : 컬럼의 문자 혹은 문자열을 대문자로 변환하여 반환한다.

    INITCAP : 컬럼의 문자 혹은 문자열의 첫 글자만 대문자로 변환하여 반환한다.

    STRING : 문자 타입 컬럼 또는 문자열

     

    [ LOWER / UPPER / INITCAP 예시 ]

     

     

    CONCAT

    CONCAT이란 컬럼의 문자 혹은 문자열을 두 개 전달 받아 하나로 합친 후 반환한다.

    [ CONCAT 예시 ]

     

     

    REPLACE

    REPLACE란 컬럼의 문자 혹은 문자열에서 특정 문자(열)을 지정한 문자(열)로 바꾼 후 반환한다.

    - STRING : 문자 타입 컬럼 또는 문자열

    - STR1 : 변경하려고 하는 문자 혹은 문자열

    - STR2 : 변경하고자 하는 문자 혹은 문자열

     

    [ REPLACE 예시 ]

    728x90
    반응형
Designed by Tistory.