DB/Oracle

[오라클 함수] 형 변환 함수

2022. 2. 9. 16:31
목차
  1. 형 변환 함수

형 변환 함수

 오라클은 다양한 데이터 종류의 자료형을 제공한다. 잘못된 자료형의 사용으로 인해 즉, 잘못된 형 변환으로 인해 오류가 발생한다. 

 

 

Query



 

출력값



 사원 'SCOTT'의 사원번호와 문자열 'ABCD'를 사원번호와 합친 데이터를 출력하려했다. 하지만 문자열+숫자는 타입이 맞지않아 'invalid number'에러 즉 수치가 부적합하다는 오류가 발생했다. 이처럼 형번환의 문제를 해결하기 위해 오라클은 다음과 같이 세 종류의 형 변환 함수를 제공한다.

 

 

종류 설명
TO_CHAR 숫자 또는 날짜 데이터를 문자 데이터로 변환
TO_NUMBER 문자 데이터를 숫자 데이터로 변환
TO_DATE 문자 데이터를 날짜 데이터로 변환

 

 

날짜, 숫자 데이터를 문자 데이터로 변환하는 TO_CHAR 함수

 TO_CHAR 함수는 숫자, 날짜 데이터를 문자 데이터로 변환 해준다. 기본 형식은 다음과 같다.

 

 

▶TO_CHAR([날짜데이터(필수)], '[출력되길 원하는 문자 형태(필수)]')

 

 

 현재 날짜와 시간을 '연/월/일 시:분:초' 형태로 출력하려한다면, 다음과 같이 SELECT문에 TO_CHAR함수를 사용할 수 있다.

 

 

 

Query


 


 

출력값



날짜 데이터를 변환하기 위해선 포맷에 대해 알아야 한다. 자주 쓰이는 날짜 표현 형식은 아래와 같다.

 

 

형식 설명
CC 세기
YYYY, RRRR 연(4자리 숫자)
YY, RR 연(2자리 숫자)
MM 월(2자리 숫자)
MON 월(언어별 월 이름 약자)
MONTH 월(언어별 월 이름 전체)
DD 일(2자리 숫자)
DDD 1년 중 며칠(1~366)
DY 요일(언어별 요일 이름 약자)
DAY 요일(언어별 요일 이름 전체)
W 1년 중 몇 번째 주 (1~53)

 

문자 데이터를 숫자 데이터로 변환하는 TO_NUMBER 함수

 다음으로는 문자데이터를 숫자 데이터로 변환하는 TO_NUMBER 함수를 알아보겠다. TO_NUMBER 함수를 사용함으로써 '문자열+숫자'과 같이 다른 형태의 타입이라도 형 변환하여 출력이 가능하도록 한다.

 

 

▶TO_NUMBER('[문자열 데이터(필수)]', '[인식될 숫자형태(필수)]')

 

 

Query


 


 

출력값

 



 

'1,300'이라는 문자열과 '1,500'이라는 문자열을 숫자로 변환하여 결과값으로 -200이라는 값을 출력했다.

 

 

문자 데이터를 날짜 데이터로 변환하는 TO_DATE 함수

TO_DATE 함수를 사용하면 문자열 데이터를 날짜 데이터로 바꿀 수 있다. 기본 형식은 아래와 같다

 

 

▶TO_DATE('[문자열 데이터(필수)]', '[인식될 날짜형태(필수)]')

 

 

2022-02-09, 20220209와 같은 문자 데이터를 날짜 데이터로 바꿔보자.

 

 

Query



 

출력값



 위와 같이 문자열이 해당 날짜 데이터로 출력된 것을 확인할 수 있다. 날짜 데이터는 간단한 연산이 가능하다. 예를 들어 입사일(HIREDATE)이 1981년 6월 1일 이후인 사원들을 찾는 쿼리문을 작성하면 아래와 같다.

 

 

Query



 

출력값



 


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

 

 

 

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

[오라클 함수] 상황에 따라 다른 데이터를 반환하는 DECODE 함수와 CASE문  (0) 2022.02.10
[오라클 함수] NULL 처리 함수  (0) 2022.02.10
[오라클 함수] 날짜 함수  (0) 2022.02.09
[오라클 함수] 문자함수  (0) 2022.02.07
WHERE절과 연산자  (0) 2022.01.27
  1. 형 변환 함수
'DB/Oracle' 카테고리의 다른 글
  • [오라클 함수] 상황에 따라 다른 데이터를 반환하는 DECODE 함수와 CASE문
  • [오라클 함수] NULL 처리 함수
  • [오라클 함수] 날짜 함수
  • [오라클 함수] 문자함수
각시탈코더
각시탈코더
각시탈코더
각시탈코더
각시탈코더
전체
오늘
어제
  • 분류 전체보기 (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)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

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

티스토리툴바

개인정보

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

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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