본문 바로가기
  • Let's study
데이터베이스/Oracle

[Oracle] 문자 처리 함수

by 코딩고수이고파 2022. 4. 21.

DUAL 테이블

  • dummy 라는 단 하나의 컬럼에 X라는 단 하나의 레코드 만을 갖는 테이블
  • 일시적인 산술 연산이나 가상 컬럼 등의 값을 보고 싶을 때 사용

문자 변환

CHR(n)

  • n에 해당하는 이진 숫자를 가진 문자를 반환

ASCII(char)

  • char 문자의 10진수 표현을 반환

 

대소문자 변환

LOWER(컬럼명 | 문자열)

  • 소문자로 변환

UPPER(컬럼명 | 문자열)

  • 대문자로 변환

INITCAP(컬럼명 | 문자열)

  • 첫 문자만 대문자로 변환, 나머지는 모두 소문자

 

문자열 조작

LPAD(char1, n, char2)

  • 문자열의 길이가 n이 될 때까지 char1의 왼쪽에 char2를 붙이기

RPAD(char1, n, char2)

  • 문자열의 길이가 n이 될 때까지 char1의 오른쪽에 char2를 붙이기

REPLACE(char1, char2, char3)

  • char1의 char2를 char3로 변환

SUBSTR(char, n, m)

  • char에서 n부터 m개의 문자열 반환
  • SUBSTR(char, n)
    • char에서 n부터 끝까지 문자열 반환

SUBSTRB(char, n, m)

  • Byte 단위로 문자를 표현
  • 영어는 SUBSTR과 동일하지만 한국어는 글자당 2 혹은 3 바이트로 정해짐

3 byte로 되어 있는 경우

위처럼 3byte로 설정되어 있는 경우 첫번째 글자가 1~3이기 때문에 3부터 3byte의 글자를 출력하면 아무것도 출력되지 않는다. 두 번째 글자를 출력하기 위해서는 4부터 3byte의 글자를 출력해야 한다.

LENGTH(char)

  • char의 길이 반환

LENGTHB(char)

  • char의 길이를 바이트로 반환

LENGTHB는 7글자*3byte + 공백=22

INSTR(char1, char2, n, m)

  • char1의 n부터 m번 째 나타나는 char2의 위치를 반환

INSTRB(char1, char2, n, m)

  • char1의 n부터 m번 째 나타나는 char2의 위치를 반환

세 번째 글자는 1+3*2

 

공백 제거

LTRIM(char, set)

  • char의 제일 왼쪽에서 나타나는 set 제거

RTRIM(char, set)

  • char의 제일 오른쪽에서 나타나는 set 제거
  • set은 default로 공백으로 지정된다.

3번째는 양쪽 공백 제거

 

'데이터베이스 > Oracle' 카테고리의 다른 글

[Oracle] 날짜 처리 함수  (0) 2022.04.23
[Oracle] 숫자 처리 함수  (0) 2022.04.22
[Oracle] Integrity Constraints(데이터 무결성 제약조건)  (0) 2022.04.19
[Oracle] Sub Query  (0) 2022.04.18
[Oracle] Join  (0) 2022.04.17

댓글