[함수]2. 단일행함수_문자함수

ColinSong·2020년 11월 7일
0

OracleDB(11g)

목록 보기
12/19
post-thumbnail

2.2 문자함수

이름의미
UPPER대문자로 변환
LOWER소문자로 변환
INITCAP이니셜만 대문자로 변환
LENGTH문자 길이 반환
LENGTHB바이트 수 반환
INSTR특정 문자의 위치 반환
SUBSTR대상의 시작 위치부터 선택 개수만큼 추출
SUBSTRB대상의 시작 위치부터 선택 바이트만큼 추출
LPAD/RPAD빈칸만큼 특정문자로 채움
LTRIM/RTRIM공백문자 삭제
TRIM특정 문자 잘라내기

2.2.1 UPPER

  • 대문자로 변환하는 함수로 UPPER(값 또는 컬럼명)을 넣으면 값 또는 해당 컬럼에 기록된 문자값이 모두 대문자로 반환된다.
SELECT UPPER('song') 
FROM dual;

2.2.2 LOWER

  • 소문자로 변환하는 함수로 LOWER(값 또는 컬럼명)을 넣으면 값 또는 해당 컬럼에 기록된 문자열값이모두 소문자로 반환된다.
SELECT LOWER('SONG') 
FROM dual;

2.2.3 INITCAP

  • 단어의 앞 글자만 대문자로 변환해주는 함수로 INITCAP(값 또는 컬럼명)을 넣으면 값 또는 해당 컬럼에 기록된 문자열 값의 첫 글자를 대문자로 변환하여 반환한다.
SELECT INITCAP('sin min a') AS INITCAP
FROM dual;

2.2.4 LENGTH / LENGTHB

LENGTH

  • LENGTH(문자열A 또는 문자형컬럼)
  • 컬럼에 기록된 문자열값의 길이를 반환하는 함수이다.

LENGTHB

  • LENGTHB(문자열A 또는 문자형컬럼)
  • 문자열A 또는 컬럼에 기록된 문자열값의 바이트 수를 반환한다.
SELECT LENGTH('한글'), LENGTHB('한글') 
FROM dual;

2.2.5 INSTR / INSTRB

INSTR

  • INSTR은 문자 또는 컬럼에 포함된 문자의 위치를 찾는 함수
  • 검색시작위치, 발견번째 수는 생략할 수 있고, 생략하게 되면 1로 값이 자동으로 들어가
    첫 번째부터 검색하여 첫 번째 발견문자의 위치를 반환하고, 만약 인자값을 원하
    는 위치부터 시작하여 원하는 번째 문자를 검색할 때는 각 인자값에 값을 넣으면 된다.
SELECT INSTR(문자 또는 컬럼, '검색문자', 검색시작위치, 발견번째 수)
FROM 테이블명;

SELECT INSTR(‘ORACLE WELCOME','O') 
FROM dual;

  • 시작위치 및 발견번째수를 입력하지 않아 1번째 글자부터 검색하여 첫 번째 번 검색된 값의
    위치를 반환하여 ‘ORACLEWELCOME’이라는 문자중 ‘O’RALCE의 O위치를 반환하여 1이라는 반환값이 나온 것.

INSTRB

  • INSTR을 바이트로 글자를 반환한다.
SELECT INSTR('한글','글'), INSTRB('한글','글')
FROM dual;

  • 영문과 숫자는 1BYTE

2.2.6 SUBSTR / SUBSTRB

  • SUBSTR은 대상 문자열이나 컬럼의 자료에서 시작위치부터 선택 개수만큼의 문자를 반환하는 함수
  • 해당 문자가 반환할 개수만 반환된다.
  • SUBSTR은 문자수, SUBSTRB 함수는 바이트수로 동작한다.
SELECT SUBSTR(대상, 시작위치, 반환할문자수)
FROM dual;

SELECT SUBSTR('오라클 데이터베이스',3) 
FROM dual;

SELECT SUBSTR('오라클 데이터베이스',3,5), 
SUBSTRB('오라클 데이터베이스',3,5) 
FROM dual;

2.2.7 LPAD / RPAD

  • 기준 공간 칸수를 지정하고 빈칸만큼 특정문자로 채우는 함수
  • 공간칸수보다 첫 번째 인자 문자열의 크기가 크다면, 넘치는 문자열은 제거

LPAD

SELECT LPAD('ORACLE', 10, '+') 
FROM dual;

RPAD

SELECT RPAD('ORACLE', 10, '+') 
FROM dual;

2.2.8 LTRIM / RTRIM

  • 왼쪽 또는 오른쪽의 공백문자를 제거해주는 함수
SELECT ' ORACLE ',
LTRIM(' ORACLE '), -- 왼쪽 공백 제거
RTRIM(' ORACLE '), -- 오른쪽 공백 제거
FROM dual;

2.2.9 TRIM

  • 양끝의 특정 문자를 제거하는 함수로, 특정 문자를 지정하지 않으면 양쪽 공백 제거
SELECT TRIM('a' FROM 'aaaOracleaaa') 
FROM dual;

Reference

  • 테이블 자료 : Oracle - EMP 테이블
  • 참고도서(책) : SQL활용 + 실습 후 정리
  • 🎈2020.11.07

profile
안녕하세요:)

0개의 댓글