[ORACLE] 오라클 데이터 타입
데이터 타입 : 컬럼이 저장되는 데이터 유형. 원시 타입 (오라클이 기본으로 제공하는 데이터 타입) 과 사용자 정의 데이터 타입으로 구분 가능.
1. 문자 데이터 타입
데이터 타입 |
설명 |
CHAR(크기 [BYTE | CHAR] ) |
고정길이 문자. 최대 20001byte, 디폴트 값 1byte |
VARCHAR2 (크기 [BYTE | CHAR] ) |
가변 길이 문자. 최대 4000byte, 디폴트 값 1byte |
NCHAR(크기) |
고정길이 유니코드 문자( 다국어 지원), 최대 2000byte, 디폴트값 1 |
NVARCHAR2 (크기) |
가변길이 유니코드 문자(다국어 지원), 최대 4000byte, 디폴트 값 1 |
LONG |
최대 2GB 크기의 가변 길이 문자형. 잘 사용하지 않음. |
--> 문자입력시 VARCHAR2를 사용하는 것이 권장됌. (공간 낭비 최소화)
--> LONG 타입은 CLOB과 BLOB으로 대체 가능하며 더이상 사용 하지 않을 것을 권장.
2. 숫자 데이터 타입
데이터 타입 |
설명 |
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 |
NUMBER[(p, [s])] 에서 p는 정밀도 (precision)는 최대 유효숫자 자릿수
s(scale)는 소수점 기준 자리수를 의미.
1) p는 소수점 기준 모든 유효숫자 자릿수를 의미. 만약 p에 명시한 것 보다 큰 숫자값을 입력하면 오류 발생.
2) s가 양수면 소수점 이하, 음수이면 소수점 이상 (소수점 기준 왼쪽) 유효 숫자 자리수를 나타냄
3) s에 명시한 숫자 이상의 숫자를 입력하면, s에 명시한 숫자로 반올림 처리
4) s가 음수이면 소수점 기준 왼쪽 자릿수 만큼 반올림
5) s가 p보다 크면 p는 소수점 이하 유효숫자 자리수를 의미
3. 날짜 데이터 타입
데이터 타입 |
설명 |
DATE |
BC 4712년 1월 1일부터 9999년 12월 31일까지, 연, 월, 일, 시, 분, 초까지 입력 가능 |
TIMESTAMP [(fractional_seconds_precision)] |
연도, 월, 일, 시, 분, 초, 밀리초 입력 가능 fractional_seconds_precision은 0~9 까지 입력 가능하고 디폴트 값은 6임. |
4. LOB 데이터 타입
--> 'Large Object', 대용량 데이터를 저장할 수 있는 데이터 타입.
데이터 타입 |
설명 |
CLOB |
문자형 대용량 객체, 고정 길이와 가변 길이 문자 집합 지원. 최대 크기는 (4GB-1)* (데이터 베이스 블록 사이즈) |
NCLOB |
유니코드를 포함한 문자형 대용량 객체. 최대 크기는 (4GB-1)* (데이터 베이스 블록 사이즈) |
BLOB |
이진형 대용량 객체. 최대 크기는 (4GB-1)* (데이터 베이스 블록 사이즈) |
BFILE |
대용량 이진파일에 대한 로케이터(위치, 이름) 저장. 최대 크기 4GB. |
문자형 대용량 데이터 --> CLOB, NCLOB
그래픽, 이미지, 동영상 등 --> BLOB
BFILE은 실제 이진파일이 아닌 데이터베이스 외부에 있는 파일에 대한 로케이터 (해당 파일을 가리키는 포인터)를 저장하며, 실제 파일을 수정 하지는 못하고 읽기만 가능.