[필기정리] Day65-2 - oracle 자료형, 데이터타입

DB/oracle

2020. 9. 23. 15:46

# oracle 자료형
1. 정수형  
ex)

number(4)

총 자리수가 4자리인 정수형 값이 필드에 저장된다.  
 
2. 실수형
ex)

number(6,2)

소수점을 포함한 총자리 수가 6자리이고 소수점 둘째 자리까지 있는 실수형 값이 저장된다. 
첫 번째 인자값 6은 소수점을 포함한 총 자리수를 의미하고,

두 번째 인자값인 2는 소수점 자리수를 의미한다.

3. 가변형 문자열 
mysql 에서는 varchar이 가변형 문자열 자료형이나,  
오라클에서는 varchar2가 가변형 문자열 자료형이다.

4. 고정형 문자열 자료형
mysql, 오라클 모두 char 자료형을 사용한다. 

5. varchar2(10)으로 만들어진 필드에는 10자까지만 저장된다. 
   영문자로 5자의 레코드를 삽입하는 경우 varchar2는 실제 레코드 크기인 5만큼 줄어든다.
   따라서 기억장소의 절약의 장점이 있다.
   대신 varchar2는 데이터를 찾는 검색속도는 느리다는 단점이 있다.    

 

   char(10)로 만들어진 필드에 영문자 5크기만큼 레코드를 삽입하는 경우에는
   char는 고정형이기 때문에 실제 레코드 크기만큼 줄어들지 않고 10크기가 그대로 고정된다.
   따라서 char은 기억장소가 낭비된다는 단점이 있다.
   대신 char는 데이터를 찾는 검색속도는 빠르다는 장점이 있다.
   
 # 오라클의 데이터 타입

구분 형식
char  고정길이 문자 data를 4000byte 저장
varchar2 가변길이 문자 data를 4000byte 저장
number 숫자값을 -38 자리수에서 +38자리수를 저장
blob Binary data를 4GB 저장
date 날짜 저장

 

// Tip : char/varchar 와 nchar/nvarchar 차이
한글(유니코드)은 2바이트의 자리를 차지하기 때문에
char/varchar 형식으로 정의할 경우에는 2배의 자릿수를 준비해야한다.


최대 3글자의 한글을 저장하고자 한다면 char(6) / varchar(6)로 데이터 형식을 지정해야한다.
반면, nchar(3) / nvarchar(3)으로 지정하면 한글이든 영문이든 무조건 3글자를 저장할수 있어서

더 단순하고 명료하게 문자 데이터를 입력할 수 있다.

728x90

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

[문제] Day67-1 - oracle 예제 문제  (0) 2020.09.25
[문제] Day65-1 - oracle 예제 문제  (0) 2020.09.23
[필기정리] Day64 - oracle 예제 문제  (0) 2020.09.23