내장바구니 | 주문배송조회 | 내적립금
6만원 이상 무료배송
주문하시는
총상품금액의 합계가
6만원 이상일 경우
택배비가 무료입니다.
오라클 문자열 처리 함수(Character Functions)
작성자: 어라    작성일: 2009-07-07 11:10   조회: 23420   댓글: 0
문자열 처리 함수(Character Functions) 
CONCAT(char1, char2) 

CONCAT 함수는 Concatenation의 약자로 두 문자를 결합하는 역할을 합니다. 
"||" 연산자와 같은 역할을 합니다. 

 
 SQL>SELECT CONCAT('Oracle', ' Korea') NAME FROM dual ; 

                NAME 
   ------------- 
   Oracle Korea 
 


INITCAP(char) 

주어진 문자열의 첫 번째 문자를 대문자로 변환시켜 줍니다. 
 
 SQL>SELECT INITCAP('kim jung sick') NAME FROM dual ; 

             NAME 
 ------------- 
  Kim jung sick
 


LOWER(char) 

문자열을 소문자로 변환 시켜 줍니다. 


UPPER(char) 

문자열을 대문자로 변환 시켜 줍니다. 
 
 SQL>SELECT LOWER('KIM JUNG SICK') NAME FROM dual ; 

            NAME 
------------- 
  kim jung sick 


SQL>SELECT UPPER('kim jung sick') NAME FROM dual ; 

            NAME 
-------------- 
KIM JUNG SICK 
 


LPAD(char1, n [,char2]) 

  왼쪽에 문자열을 끼어 놓는 역할을 합니다. n은 반환되는 문자열의 전체 길이를 나타내며, char1의 문자열이 n보다 클 경우 char1을 n개 문자열 만큼 반환합니다. 
 
 SQL>SELECT LPAD('JUNG-SICK', 10, '*') NAME FROM dual ; 

          NAME 
------------
 *JUNG-SICK
 


RPAD(char1, n [,char2]) 

LPAD와 반대로 오른쪽에 문자열을 끼어 놓는 역할을 합니다. 
 
SQL>SELECT RPAD('JUNG-SICK', 10, '*') NAME FROM dual ; 

          NAME 
------------ 
  JUNG-SICK*
 


SUBSTR(char, m ,[n]) 

  SUBSTR함수를 이용하여 m 번째 자리부터 길이가 n개인 문자열을 반환한 합니다. m이 음수일 경우에는 뒤에서 M번째 문자부터 반대 방향으로 n개의 문자를 반환합니다. 
 
SQL>SELECT SUBSTR('JUNG-SICK', 3, 3) NAME FROM dual ; 

          NAME 
----------- 
            NG- 

-- 뒤에서부터 자를
SQL>SELECT SUBSTR('JUNG-SICK', -3, 3) NAME FROM dual ; 

        NAME  
----------- 
          ICK
 


LENGTH(char1) 

문자열의 길이를 리턴 합니다. 
 
SQL>SELECT LENGTH('JUNG-SICK') TEST FROM dual ; 

      TEST
   ----------
           9
 


REPLACE(char1, str1, str2) 

REPLACE는 문자열의 특정 문자를 다른 문자로 변환 합니다. 
 

SQL> SELECT REPLACE('JACK and JUE','J','BL') "Changes" FROM DUAL;
 
Changes
--------------
BLACK and BLUE
 
 
 
SQL> SELECT REPLACE('JACK and JUE','JA','BL') "Changes" FROM DUAL
 
Changes
------------
BLCK and JUE
 
 
-- 대소문자를 구분한다는 것을 알수 있습니다. 
SQL>SELECT REPLACE('JACK and JUE','j','BL') "Changes" FROM DUAL
 
Changes
------------
JACK and JUE
 


INSTR

 - 문자열이 포함되어 있는지를 조사하여 문자열의 위치를 반환합니다. 
 - 지정한 문자열이 발견되지 않으면 0이 반환 됩니다. 
 
 

-- 지정한 문자 OK가 발견되지 않아서 0이 반환 됩니다. 
SQL>SELECT INSTR('CORPORATE FLOOR','OK')  "Instring" FROM DUAL
 
  Instring
----------
         0


-- OR이 있는 위치 2를 반환 합니다. 왼쪽부터 비교를 한다는 것을 알 수 있습니다.
SQL>SELECT INSTR('CORPORATE FLOOR','OR')  "Instring" FROM DUAL
 
  Instring
----------
         2
 

-- 왼쪽에서 3번째부터 시작을 해서 비교를 합니다. 2번째 OR의 위치가 반환 됩니다. 
SQL>SELECT INSTR('CORPORATE FLOOR','OR', 3)  "Instring" FROM DUAL 
 
  Instring
----------
         5


-- 왼쪽에서 3번째부터 시작을 해서 비교를 하는데  OR이 두 번째 검색되는 지점의 위치를 반환 합니다. 
SQL> SELECT INSTR('CORPORATE FLOOR','OR', 3, 2)  "Instring" FROM DUAL;
 
  Instring
----------
       14
 
 


TRIM 

 - 특정한 문자를 제거 합니다.  
 - 제거할 문자를 입력하지 않으면 기본적으로 공백이 제거 됩니다.
 - 리턴값의 데이터타입은 VARCHAR2 입니다.
 
 

-- 0을 제거 합니다. 
SQL>SELECT TRIM(0 FROM 0009872348900)  "TRIM Example" FROM DUAL;
 
TRIM Example
------------
98723489
 
 
-- 어떤 문자도 입력하지 않으면 기본적으로 공백이 제거 됩니다.  
-- TRIM을 사용한 위에 예제와 사용하지 않은 아래 예제의 결과 값이 다르게 나오는 것을 알 수 있습니다. 
SQL>SELECT NVL(TRIM ('  '),'공백')  "TRIM Example"  FROM DUAL
 
TRIM Example
------------
공백
 
 
SQL>SELECT NVL('  ','공백')  "TRIM Example" FROM DUAL
 
TRIM Example
------------
 
 

 
 

LTRIM

SQL>SELECT LTRIM('xyxXxyLAST WORD','xy') "LTRIM example"  FROM DUAL;
 
LTRIM example
------------
XxyLAST WORD
 
 
RTRIM

SQL>SELECT RTRIM('BROWNINGyxXxy','xy') "RTRIM example"     FROM DUAL;

RTRIM examp
-----------
BROWNINGyxX

 * 관련 댓글 한말씀 부탁합니다.
  작성자:    비밀번호:   (비밀번호는 숫자 4자리이며 본인댓글 삭제시 필요합니다.)
이용약관 | 개인정보취급방침