[Oracle] Data Types

오라클 데이터 타입 종류

 

 

Link : The Oracle Documentation - Data Types

 

 

 

 

 

Strings 문자열

 

- 현실적으로 VARCHAR2 만 대부분 사용한다. 현실에선 Y or N 같은 flag 값도 CHAR(1) 이 아닌 VARCHAR2(1) 로 선언한다. VARCHAR2 의 중요한 점은 length가 0 인 문자열, 즉 '' 은 NULL 과 동일한 의미이다.

데이터타입   
 CHAR(n)  고정길이 문자 / 최대 2000byte / default 1byte 
 VARCHAR2(n)  가변길이 문자 / 최대 4000byte / default 1byte 
 NCHAR(n)  고정길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte 
 NVARCHAR(n)  가변길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte 
 LONG   최대 2GB 크기의 가변길이 문자형, 사용하지 말 것. 대신 LOB 를 사용할 것.

- Oracle Documentation ...

 

 

 

 

 

 

Numbers 숫자

 

- 그냥 Number 만 선언해도 왠만큼 문제 없다. 오히려 정수, 소수 지정했다가 도로 해제하는 경우를 더 많이 봤다.

데이터 타입  설명 
 NUMBER(P,S)   가변숫자 / P (1 ~ 38, 디폴트 : 38) / S (-84 ~ 127, 디폴트 값 : 0)  / 최대 22byte 
 FLOAT(P)  NUMBER의 하위타입 / P (1~128 .디폴트 : 128) / 이진수 기준 / 최대 22byte 
 BINARY_FLOAT  32비트 부동소수점 수 / 최대 4byte 
 BINARY_DOUBLE  64비트 부동소수점 수 / 최대 8byte 

 

 

 

 

 

 

Dates 날짜

 

- Log나 측정, 혹은 시차, 섬머타임이 필요하다면 Timestamp, 그 외 Date를 사용하면 무방하다. 

데이터타입   설명 
 DATE  9999년 12월 31일 23시 59분 59초 까지. 최하 초단위끼지
 TIMESTAMP  밀리초까지. 뿐만아니라 Daylight saving 즉 섬머타임이 지원되고, Local time zone 도 지원되는게 Date와 큰 차이. 이 부분 MySQL 에서 설명한 내용을 참고.

Link : MySQL Data Types

 

 

 

LOB (Large Object)  대용량

데이터 타입  설명 
CLOB  문자형 대용량 객체 고정길이와 가변길이 문자집합 지원 
NCLOB  유니코드를 지원하는 문자형 대용량 객체 
BLOB  이진형 대용량 객체 
BFILE  대용량 이진 파일에 대한 위치,이름 저장 

 

 

 

 

 

 

+ Recent posts