📌 1. Oracle data type
- 데이터 타입이란 컬럼에 저장되는 데이터의 유형을 말한다.
- 기본 데이터 타입은 문자형, 실수, 소수, 자료형 등의 여러 데이터를 식별하는 타입이다.
문서 이미지 출처
📍 1-1. 문자 데이터 타입
- 오라클의 문자 데이터 타입에는
CHAR, NCHAR, VARCHAR2, NVARCHAR2
등이 있다.
이 중 앞에 N이 붙는 NCHAR, NVARCHAR2
는 문자열을 유니코드로 저장하는 타입으로, 보통 문자열에는 주로 VARCHAR2
가 사용된다.
- 컬럼에 문자 데이터 타입을 지정할 때는 괄호로 사이즈를 지정할 수 있다.
- CHAR(
N
) (최대 2000byte)
VARCHAR2(N
) (최대 4000byte)
- 여기서
N
에 들어가는 숫자가 사이즈를 뜻한다.
CHAR
은 고정길이 문자 타입이므로 10을 지정하고 문자길이가 3이면 7이 낭비된다.
VARCHAR2
는 가변길이 문자 타입으로 저장한 문자열만큼의 크기만 사용하고 지정한 사이즈는 최대값으로 작용한다.
📍 1-2. 숫자형 데이터 타입
- 오라클의 숫자 데이터 타입에는
NUMBER, FLOAT, BINARY_FLOAT, BINARY_DOUBLE
등이 있다. 숫자형에서 주로 사용되는 것은 NUMBER
타입이다.
NUMBER
타입을 사용할 때는 소수점 포함 전체 자리수, 소수점 자리수를 지정할 수 있다.
- NUMBER(
P
,S
)
P
- 소수점 포함 전체 자리수, S
- 소수점 자리수
NUMBER
는 가변숫자이므로 P
와 S
를 입력하지 않으면 저장 데이터 크기에 맞게 자동으로 조절된다. 자리수를 지정하면 소수점은 자리수에 맞게 반올림된다. 지정된 자리수에 숫자를 다 담을 수 없으면 오류가 된다.
- 예시
-
입력값 | 타입 | 저장되는 값 |
---|
123.89 | NUMBER | 123.89 |
123.89 | NUMBER(3) | 124(반올림) |
123.89 | NUMBER(3,2) | 오류(담을 수 없는 값) |
123.89 | NUMBER(4,2) | 오류(담을 수 없는 값) |
123.89 | NUMBER(5,2) | 123.89 |
123.89 | NUMBER(6,1) | 123.9 |
📍 1-3. 날짜형 데이터 타입
- 오라클의 날짜형 데이터 타입에는
DATE, TIMESTAMP
가 있다. TIMESTAMP
는 밀리초까지 저장하며, 날짜형에서는 주로 DATE
타입을 사용한다.
📍 1-4. 대용량 데이터 타입
- 오라클의 대용량 데이터 타입에는
CLOB, NCLOB, BLOB, BFILE
이 있다.
LOB
이란 LARGE OBJECT의 약자로 대용량 데이터를 처리할 수 있는 데이터 타입이다.