오라클 데이터 형식
Oracle Built-in Data Types
- Character
- Numeric
- Date
- LOB
VALUE TYPE
Type | Example |
Character | 'nEWlec' |
'A' | |
'148' | |
Numeric | 38 |
3.85 | |
3.85F | |
137 | |
Date | '2013-02-09' |
TIMESTAMP | '2013-06-03 10.38.29.00000' |
문자형 데이터 형식
형식 | 설명 |
CHAR(N) | 고정길이 문자 / 최대 2000byte / 기본값: 1byte |
VARCHAR2(N) | 가변길이 문자 / 최대 4000byte / 기본값: 1byte |
NCHAR(N) | 고정길이 유니코드 문자(다국어 입력 가능) / 최대 2000byte / 기본값: 1byte |
NVARCHAR2(N) | 가변길이 유니코드 문자(다국어 입력 가능) / 최대 2000byte / 기본값: 1byte |
LONG | 가변길이 문자 / 최대 2Gbyte |
CLOB | 대용량 텍스트 데이터 타입 / 최대 4Gbyte |
NCLOB | 대용량 텍스트 유니코드 데이터 타입 / 최대 4Gbyte |
- 문자별 byte 할당량
영어, 숫자, 공백은 1자 당 1byte 할당
그 외 문자는 인코딩에 따라 2 혹은 3 byte 할당
(AL16UTF16 encoding - 2byte / UTF8 encoding - 3byte)
- 고정길이
실제 입력된 데이터 길이에 상관없이 할당된 메모리 길이가 변하지 않음
입력된 데이터 길이가 할당된 메모리 길이보다 작을 경우 빈 공간은 NULL값으로 채워짐
- 가변길이
실제 입력된 데이터 길이에 따라서 할당된 메모리 길이가 변함
구분 기호에 의해 메모리 길이가 조정됨
CHAR(데이터길이 [BYTE|CHAR(기본값: BYTE)])
VARCHAR2(데이터길이 [BYTE|CHAR(기본값: BYTE)])
CHAR(3): 3byte 고정길이
CHAR(3 CHAR): 3자 고정길이
VARCHAR2(3): 최대 3byte 가변길이
VARCHAR2(3 CHAR): 최대 3자 가변길이
NCHAR(데이터길이)
NVARCHAR2(데이터길이)
NCHAR(3): 유니코드 3자 고정길이
NVARCHAR2(3): 유니코드 3자 가변길이
* MAX SIZE
32767 bytes or characters if MAX_STRING_SIZE = EXTENDED
4000 bytes of characters if MAX_STRING_SIZE = STANDARD
숫자형 데이터 형식
형식 | 설명 |
NUMBER(P, S) | 가변길이 숫자 / P (1 ~ 38) / S (-84 ~ 127) / 최대 22byte |
FLOAT(P) | NUMBER의 하위형식 / P (1 ~ 128) / 최대 22byte |
BINARY_FLOAT | 32비트 부동소수점 숫자 / 최대 4byte |
BINARY_DOUBLE | 64비트 부동소수점 숫자 / 최대 8byte |
NUMBER(P(기본값: 38), S(기본값: 0))
FLOAT(P(기본값: 128))
NUMBER(4): 최대 4자리로 이루어진 숫자
NUMBER(6, 2): 소수점 2자리를 포함하는 최대 6자리의 숫자(소수점 2자리에서 반올림)
NUMBER(6, -2): 소수점 -2자리에서 반올림하는 최대 6자리의 숫자
NUMBER = NUMBER(38, *)
NUMBER(*, 5) = NUMBER(38, 5)
날짜형 데이터 형식
형식 | 설명 |
DATE | BC 4712년 1월 1일 ~ 9999년 12월 31일 / 연, 월, 일, 시, 분, 초 입력 가능 |
TIMESTAMP | 연, 월, 일, 시, 분, 초, 밀리초 입력 가능 |
TIMESTAMP: NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따름
TIMESTAMP WITH TIME ZONE: NLS_TIMESTAMP_TZ_FORMAT 파라미터에 명시된 값을 따름
TIMESTAMP WITH LOCAL TIME ZONE: NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따름
SELECT * FROM NLS_DATABASE_PARAMETERS;
LOB 데이터 형식
형식 | 설명 |
CLOB | 고정, 가변길이 문자집합을 지원하는 문자형 대용량 객체 |
NCLOB | 유니코드를 지원하는 문자형 대용량 객체 |
BLOB | 이진형 대용량 객체 |
BFILE | 대용량 이진 파일에 대한 위치, 이름 저장 |
데이터 형식 지정 예시
ID VARCHAR2(50)
PWD VARCHAR2(50)
NAME NVARCHAR2(10)
GENDER NCHAR(2)
AGE NUMBER(3)
BIRTHDAY CHAR(10)
PHONE CHAR(13)
REGDATE DATE
ID, PWD : 영어, 숫자 최대 50자 가변길이
NAME : 한글 최대 10자 가변길이
GENDER : 한글 2자 고정길이 (여자 혹은 남자)
AGE : 숫자 3자 고정길이
BIRTHDAY: 문자 10자 고정길이 (0000.00.00)
PHONE : 문자 13자 고정길이 (010-0000-0000)
REGDATE : 날짜