우와한 개발자

[SQL] Oracle 데이터 타입 - 고정 길이 vs 가변 길이, CHAR / VARCHAR2 / NUMBER / DATE / CLOB / BLOB

by 우와한개발자

1. 문자 데이터 타입

  • 주로 일반 문자열은 VARCHAR2, 대용량 텍스트는 CLOB 사용
타입 특징
CHAR(길이) 고정 길이 (부족하면 공백 채움)
VARCHAR2(길이) 가변 길이 (입력한 만큼만 저장)
NCHAR(길이) 고정 길이 유니코드
NVARCHAR2(길이) 가변 길이 유니코드
CLOB 대용량 문자열 (최대 4GB) Character Large Object
⚠️ 고정길이와 가변길이
- 고정길이는 선언한 길이만큼 무조건 공간 사용하고 부족하면 공백으로 채움
- 가변 길이 입력한 데이터 길이만큼만 저장

 

2. 숫자 데이터 타입

  • 주로 NUMBER 사용
타입 특징
NUMBER(전체자리수[, 소수점 자리수]) 정수/실수 모두 가능
BINARY_FLOAT 32bit 부동소수
BINARY_DOUBLE 64bit 부동소수

 

3. 날짜 데이터 타입

  • DATE도 시간 포함
타입 특징
DATE 날짜와 시간 (초까지 포함)
TIMESTAMP 날짜와 시간과 밀리초

 

4. 바이너리 데이터 타입

타입 특징
RAW(size) 작은 바이너리
BLOB 대용량 바이너리. Binary Large Object
BFILE 외부 파일 참조

 

⚠️ LONG은 LIKE 등 WHERE 절에서 조건 비교 거의 불가능하여 잘 안씀.
타입 이유
LONG CLOB으로 대체
LONG RAW BLOB으로 대체

블로그의 정보

우와한개발자 님의 블로그

우와한개발자

활동하기