DB/Oracle

[오라클 함수] 문자함수

2022. 2. 7. 16:33
목차
  1. 오라클 함수 
  2. 문자함수

오라클 함수 

 

 오라클은 특정한 결과 값을 얻기 위해 데이터를 입력할 수 있는 특수 명령어가 존재하는데 이를 오라클 함수라 한다. 오라클 함수는 오라클 함수에서 기본으로 제공하는 내장함수와 사용자 필요에 의해 직접 정의한 사용자 정의 함수로 나뉜다. 내장함수 안에는 데이터가 한 행씩 입력되고 입력된 한 행당 결과가 하나씩 나오는 단일행 함수와 여러 행이 입력되어 하나의 행으로 결과가 반환되는 다중행 함수가 있다. 

 

문자함수

UPPER, LOWER, INITCAP 함수

 

문자 함수에는 대·소문자로 바꿔주는 함수가 있다. 

 

함수 설명
UPPER(문자열) 괄호 안 문자 데이터를 모두 대문자로 변환하여 변환
LOWER(문자열) 괄호 안 문자 데이터를 모두 소문자로 변환하여 변환
INTCAP(문자열) 괄호 안 문자 데이터 중 첫 글자는 대문자로, 나머지 문자를 소문자로 변환 후 반환

 

UPPER, LOWER, INITCAP 함수를 사용한 SQL문과 출력물을 확인해 보겠다.

 

 

Query



 

출력값


 


출력물을 확인하면, UPPER, LOWER, INITCAP 함수 각각의 기능을 구현한 걸 확인 할 수 있다.

 

 

문자열 길이를 구하는 LENGTH 함수

 오라클에서 특정 문자열의 길이를 구할 때 LENGTH함수를 사용한다. 

 

 

Query

 


 


 

출력값



 두 번째 열 'ENAME'에 LENGTH를 사용하여 사원 이름의 길이를 구한다. LENGTH함수를 조건절 WHERE를 사용하여 문자의 길이를 선별하여 출력할 수 있다.

 

 

Query

 


 


출력값



문자열 일부를 추출하는 SUBSTR 함수

오라클에서는 문자열 중 일부를 추출하는 SUBSTR 함수를 제공한다. 기본적인 SUBSTR 함수의 사용법은 아래와 같다.

 

함수 설명
SUBSTR(문자열 데이터, 시작위치, 추출길이) 문자열 데이터의 시작 위치부터 추출 길이만큼 추출한다. 시작 위치가 음수일 경우에는 마지막 위치부터 거슬러 올라간 위치에서 시작한다.
SUBSTR(문자열 데이터, 시작 위치) 문자열 데이터의 시작 위치부터 문자열 데이터 끝까지 추출한다. 시작 위치가 음수일 경우에는 마지막 위치부터 거슬러 올라간 위치에서 끝까지 추출한다.

 

 

Query



출력값


 


특정 문자 위치를 찾는 INSTR 함수

 문자열 안의 특정 문자를 찾을 때는 INSTR 함수를 사용한다. INSTR 함수 사용방법은 아래와 같다.

 

▶INSTR([대상 문자열 데이터(필수)],
           [위치를 찾으려는 부분 문자(필수)],
           [위치 찾기를 시작할 대상 문자열 데이터 위치(선택, 기본값은 1)],
           [시작 위치에서 찾으려는 문자가 몇 번째인지 지정(선택, 기본값은 1)])

 

 

3가지의 경우를 INSTR함수를 이용해 출력해보자.

 

  1. 'L'이 처음 나오는 경우의 위치
  2. 'L'이 5번 째 글자(O)부터 나오는 위치
  3. 'L'이 2번 째 글자 이후에 두 번째 순서로 위치

※문자열의 순서는 0이아닌 1부터 시작한다.

 

 

Query


 


출력값



특정 문자를 다른 문자로 대체하는 REPLACE 함수

 오라클에서는 특정 문자를 다른 문자로 대체할 수 있는 함수 REPLACE 함수가 있다. 

 

▶REPLACE([문자열 데이터 또는 열 이름(필수)], [찾는 문자(필수)], [대체할 문자(선택)])

 

 REPLACE 함수를 사용하여 다음 조건에 만족하는 쿼리문을 작성해보자.

  1. '010-1234-5678'이라는 숫자의 '-'을 ''(공백)으로 대체
  2. '010-1234-5678'이라는 숫자의 '-'를 삭제

 

Query



출력값



데이터의 빈 공간을 특정 문자로 채우는 LPAD, RPAD 함수

 오라클은 데이터의 빈 공간을 특정 공간으로 채우는 LPAD(Left Padding)와 RPAD(Right Padding)을 제공한다.

 

 

▶LPAD([문자열 데이터 또는 열이름(필수)], [데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)]
▶RPAD([문자열 데이터 또는 열이름(필수)], [데이터의 자릿수(필수)], [빈 공간에 채울 문자(선택)]

 

 

 'Oracle'이라는 문자를 기준으로 아래의 조건을 만족하는 쿼리문을 LPAD와 RPAD를 사용하여 작성해보자.

  1. Oracle이 포함 된 전체 숫자열 10개 중 왼쪽 공백에 '#'를 채워 넣는다.
  2. Oracle이 포함 된 전체 숫자열 10개 중 오른쪽 공백이 '*'로 채워 넣는다.
  3. Oracle이 포함 된 전체 숫자열 10개 중 왼쪽 공백을 모두 공백으로 표시한다.
  4. Oracle이 포함 된 전체 숫자열 10개 중 오른쪽 공백을 모두 공백으로 표시한다. 

 

Query



 

출력값



 

 

특정 문자를 지우는 TRIM, LTRIM, RTRIM 함수

TRIM, LTRIM, RTRIM 함수는 문자열 데어터 내에서 특정 문자를 지우기 위해 사용하는 함수다.

 

TRIM

 

▶TRIM([삭제 옵션(선택)] [삭제할 문자(선택)] FROM [원본 문자열 데이터(필수)])

 

 

 삭제 옵션은 왼쪽에 있는 글자를 지울 경우 LEADING을, 오른쪽에 있는 글자를 지울 떄는 TRAILING을, 양복 모두를 지우기 위해서는 BOTH를 사용한다. TRIM함수를 쿼리문을 통해 작성해보고 결과값을 출력해보자.

 

 

Query



 

출력값



 

LTRIM, RTRIM

 LTRIM, RTRIM 함수는 왼쪽, 오른쪽 지정 문자를 삭제하는 데 사용한다. 삭제할 문자를 지정하지 않을 경우 공백 문자가 삭제된다. TRIM문자와 다르게 삭제할 문자를 하나만 지정하는 것이 아니라 여러 문자 지정이 가능하다는 점이다.

 

 

▶LTRIM([원본 문자열 데이터(필수)], [삭제할 문자 집합(선택)])
▶RTRIM([원본 문자열 데이터(필수)], [삭제할 문자 집합(선택)])

 

 

Query



 

출력값




출처:Do it! 오라클로 배우는 데이터베이스 입문(저자:이지훈 출판사:이지스퍼블리싱)

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

[오라클 함수] NULL 처리 함수  (0) 2022.02.10
[오라클 함수] 형 변환 함수  (0) 2022.02.09
[오라클 함수] 날짜 함수  (0) 2022.02.09
WHERE절과 연산자  (0) 2022.01.27
SELECT문의 기본 형식  (0) 2022.01.25
  1. 오라클 함수 
  2. 문자함수
'DB/Oracle' 카테고리의 다른 글
  • [오라클 함수] 형 변환 함수
  • [오라클 함수] 날짜 함수
  • WHERE절과 연산자
  • SELECT문의 기본 형식
각시탈코더
각시탈코더
각시탈코더
각시탈코더
각시탈코더
전체
오늘
어제
  • 분류 전체보기 (203)
    • java (46)
      • 객체지향 (20)
      • 기본문법 (8)
      • 자바의 정석 연습문제 오답노트 (9)
      • 백준 알고리즘 (9)
    • Spring (17)
      • SpringMVC (8)
      • Spring DI와 AOP (5)
      • REST API와 Ajax (1)
      • Spring 프로젝트 (1)
      • Spring Security (0)
    • DB (47)
      • Oracle (15)
      • SQL오답노트 (25)
      • 튜닝 (0)
      • ERD (1)
      • DB 모델링 (5)
    • Servlet & JSP (3)
    • JDBC (2)
      • 기본 (1)
      • 스프링JDBC (1)
    • MyBatis (2)
    • JavaScript (2)
      • 코딩애플 (0)
      • 문법 (1)
    • React (0)
      • 코딩애플 (0)
    • HTML (0)
      • 모던 웹을 위한 HTML5+CSS3 바이블 (0)
    • CSS (0)
      • 모던 웹을 위한 HTML5+CSS3 바이블 (0)
    • Linux (0)
    • Git & GitHub (2)
      • Git (1)
    • CS (19)
      • 네트워크 (6)
      • HTTP (7)
      • 컴퓨터구조 (0)
      • 자료구조와 알고리즘 (2)
      • 기타 (4)
    • 개발설정 (2)
    • 기술면접 (0)
      • JAVA (0)
      • Spring (0)
      • DB (0)
      • 네트워크 (0)
      • 공통 (0)
    • 프로젝트 (2)
      • 게시판만들기 (2)
    • 기혁씨의 삽질표류기 (28)
    • 참고자료 (2)
      • 국비수업 (0)
      • 당당 프로젝트 (1)
    • 뉴렉처 (17)
      • 자바 (11)
      • 자바스크립트 (3)
      • 키워드 (0)
      • 숙제 (0)
      • CSS (0)
      • DB (3)
      • 서블릿 (0)
      • 스프링 (0)
      • DOM (0)
    • 내가 만든 학습그림 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 네트워크
  • 오류
  • 자바
  • db
  • 공부
  • 국비수업
  • Oracle
  • SQL
  • 백준
  • 자바의정석
  • 오라클
  • 뉴렉처
  • 서브쿼리
  • 자바의정석기초편
  • 쿼리
  • Java
  • 에러
  • 웹프로그래밍
  • 스프링
  • 객체지향
  • 배열
  • spring
  • It
  • 모두의네트워크
  • 백엔드
  • 프로그래머스
  • 연습문제
  • 알고리즘
  • 개발자
  • 코딩

최근 댓글

최근 글

hELLO · Designed By 정상우.
각시탈코더
[오라클 함수] 문자함수
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.