Patrick's 데이터 세상

텍스트 제어 함수 본문

Programming/Oracle

텍스트 제어 함수

patrick610 2020. 6. 21. 14:52
반응형
SMALL

텍스트 제어 함수

 

텍스트 문자열을 제어하는 데 사용되는 텍스트 함수입니다.

예를 들어 값의 앞뒤에 공백을 붙이고 잘라내거나, 대·소문자를 변환하는 등의 작업을 수행합니다.

 

 

 

* LENGTH

   

 - 문자열 길이 구하는 함수

 - 한글을 1byte로 계산

 

 EX) SELECT LENGTH('AB한글*1') FROM DUAL;

 결과) 6

 

 

 

* LENGTHB

 

 - 한글을 2byte로 계산

   (KO16KSC5601(한글 완성형), KO16MSWIN949는 한 글자를 2Byte로 인식하지만,

    UTF8/AL32UTF8의 경우 한 글자를 3Byte로 인식합니다.

    UTF8/AL32UTF8의 장점은 한글 정렬(Order by)이 가능하지만, 3Byte 길이를 소모합니다.)

 

 EX) SELECT LENGTHB('AB한글*1') FROM DUAL;

 결과) 8

 

 

* LOWER

 

  - 문자열을 소문자로 변환

 

  EX) SELECT LOWER('KIM JUNG SICK') NAME FROM DUAL; 

  결과) kim jung sick

 

 

* UPPER

 

  - 문자열을 대문자로 변환

 

  EX) SELECT UPPER('kim jung sick') NAME FROM DUAL; 

  결과) KIM JUNG SICK

 

 

* VSIZE

 

  - 한글을 2byte로 계산

  - 문자뿐 아니라 숫자, 날짜의 바이트도 계산합니다.

 

  EX) SELECT VSIZE('AB한글*1') FROM DUAL;

  결과) 8

 

 

* CONCAT

 

  - 두 문자열을 결합합니다.

    (= ||)

 

  EX) SELECT CONCAT('Oracle', ' Korea') NAME FROM DUAL;

  결과) Oracle Korea

 

 

* INITCAP

 

  - 첫 번째 문자를 대문자로 변환

  

  EX) SELECT INITCAP('kim jung sick') NAME FROM DUAL;

  결과) Kim Jung Sick

 

 

* LPAD

 

  - 왼쪽에 문자열을 끼어 놓는 역할.

    n은 반환되는 문자열의 전체 길이. 

    char1의 문자열이 n보다 클 경우 char1을 n개 문자열 만큼 반환합니다.
  

  EX) SELECT LPAD('JUNG-SICK', 15, '  *') NAME FROM DUAL;

  결과)   *  *JUNG-SICK

 

 

* RPAD

 

  - 오른쪽에 문자열을 끼어 놓는 역할

SELECT RPAD('JUNG-SICK', 10, '*') NAME FROM DUAL;

 

 

* SUBSTR

  

  - SUBSTR(char, m, [n]) m번째 자리부터 길이가 n개인 문자열을 반환

 

  EX) SELECT SUBSTR('JUNG-SICK', 3, 3) NAME FROM dual; 

  결과) NG-

   

  EX) SELECT SUBSTR(SYSTEM_NAME, 3) SERVICE FROM DUAL;

       - 3자리 이후 끝자리까지 자름

 

 

* SUBSTRB

 

  - 바이트 단위로 계산하여 문자열을 치환하는 함수

  

  EX) SELECT SUBSTRB('오라클 Oracle', 1, 3) FROM DUAL;

  결과) 오

 

 

* REPLACE

 

  - 문자열의 특정 문자를 다른 문자로 변환

  

  EX) SELECT REPLACE('JACK and JUE','J','BL') "Changes" FROM DUAL;

  결과) BLACK and BLUE

 

 

* TRANSLATE

 

  - 지정된 문자열을 치환

 

  EX) SELECT TRANSLATE('a1a2a3a4a5','a','A') FROM DUAL;

  결과) A1A2A3A4A5

 

 

* INSTR

 

  - 문자열이 포함되어 있는지를 조사하여 문자열의 개수를 반환

  EX) SELECT INSTR('CORPORATE FLOOR','O')  "Instring" FROM DUAL;

  결과) 2

   

  EX) SELECT SUBSTR(SYSTEM_NAME, INSTR(SYSTEM_NAME, '.', -1)+1) SERVICE FROM DUAL;

  - 원하는 자릿수 이후부터 사용하고 싶을때

 

 

* TRIM

 

  - 특정 문자를 제거합니다.

  

  EX) SELECT TRIM(0 FROM 0009872348900)  "TRIM Example" FROM DUAL;

 

  * RTRIM 오른쪽부터 특정 문자 제거

  EX) SELECT RTRIM(' aabacdbaeaa ',' ') FROM DUAL;

 

  * LTRIM 왼쪽부터 특정 문자 제거

  EX) SELECT LTRIM(' aabacdbaeaa ',' ') FROM DUAL;

 

  * NVL 어떤 문자도 입력하지 않으면 기본적으로 공백이 제거 됨

  EX) SELECT NVL(TRIM ('  '),'공백')  "TRIM Example"  FROM DUAL;

 

 

* 변환형 함수

 

  - TO_CHAR 숫자나 날짜를 문자열로 변환

  - TO_NUMBER 문자열을 q숫자 변환

  - TO_DATE 문자를 날짜로 변환

반응형
LIST

'Programming > Oracle' 카테고리의 다른 글

일반 집계 함수  (0) 2020.06.21
순위 함수  (0) 2020.06.21
데이터 조작 함수  (0) 2020.06.21
DCL - COMMIT, ROLLBACK, GRANT, REVOKE 구문  (0) 2020.06.21
DCL - SQL 제어어  (0) 2020.06.21
Comments