문자형 데이터 타입
데이터타입 |
설명 |
CHAR(n) |
고정길이 문자 / 최대 2000byte / default값은 1byte |
VARCHAR2(n) |
가변길이 문자 / 최대 4000byte / default값은 1byte |
NCHAR(n) |
고정길이 유니코드 문자(다국어입력가능) / 최대 2000byte / default값은 1byte |
NVARCHAR(n) |
가변길이 유니코드 문자(다국어입력가능) / 최대 2000byte / default값은 1byte |
LONG |
최대 2GB 크기의 가변길이 문자형 |
CLOB |
대용량 텍스트 데이터 타입(최대 4Gbyte) |
NCLOB |
대용량 텍스트 유니코드 데이터타입 (최대 4Gbyte) |
가변길이란 실제 입력된 데이터 길이에 따라서 크기가 변하는 것을 의미한다.
예를 들어 VARCHAR2(10) 으로 할당하고 abc라는 데이터를 입력하면 10이라는 데이터 공간을 할당했기에 10byte까지만 데이터를 입력 받을 수 있지만 3글자만 입력되었기 때문에 데이터 공간은 3byte가 된다.
반면에 고정길이인 CHAR(10)은 똑 같은 10이라는 데이터 공간을 할당 받고 3byte만 입력되었지만 데이터의 공간은 10byte 그대로 유지된다.
그래서 대부분 남, 여 처럼 고정적인 데이터가 아니라면 대부분 VARCHAR2를 사용한다.
숫자형 데이터 타입
데이터타입 |
설명 |
NUMBER(p,s) |
가변숫자 / p(1~38, default : 38) /S (-84 ~ 127, default : 0) / 최대 22byte |
FLOAT(p) |
NUMBER의 하위타입 / P(1~128, default : 128) / 이진수 기준 / 최대 22byte |
BINARY_FLOAT |
32비트의 부동소수점 수 / 최대 4byte |
BINARY_DOUBLE |
64비트의 부동소수점 수 / 최대 8byte |
숫자 타입은 4가지 타입이 있다. 대부분 NUMBER형을 사용하며 P는 소수점을 포함한 전체 자릿수를 의미, S는 소수점 자릿수를 의미한다. NUMBER는 가변숫자이므로 P와 S를 입력하지 않으면 저장데이터의 크기에 맞게 자동으로 조절된다.
날짜 데이터 타입
데이터타입 |
설명 |
DATE |
BC 4712년 1월 1일부터 9999년 12월 31일, 연, 월, 일, 시, 분, 초까지 입력가능 |
TIMESTAMP |
연도, 월, 일, 시, 분, 초 + 밀리초까지 입력가능 |
LOB 데이터타입
데이터타입 |
설명 |
CLOB |
문자형 대용량 객체 고정길이와 가변길이 문자집합 지원 |
NCLOB |
유니코드를 지원하는 문자형 대용량 객체 |
BLOB |
이진형 대용량 객체 |
BFILE |
대용량 이진 파일에 대한 위치, 이름 저장 |
LOB이란 Large Object의 약자로 대용량 데이터를 저장할 수 있는 데이터 타입이다. 일반적으로 그래픽, 이미지, 사운드등 비정형 데이터를 저장할 때 LOB타입을 사용한다. 문자형 대용량 데이터는 CLOB나 NCLOB, 그래픽, 이미지, 동영상등의 데이터는 BLOB를 주로 사용한다.
'DB' 카테고리의 다른 글
Oracle Scheduler, MySQL Event Scheduler (0) | 2022.04.21 |
---|---|
mysql 계층형 쿼리(함수, 재귀) (0) | 2022.04.04 |
EC2에 설치한 MySQL 데스크탑 workbench에서 접근 (0) | 2021.11.09 |
Oracle과 Tomcat충돌문제 해결 (0) | 2020.10.18 |
Oracle에서 auto_increment (0) | 2020.10.17 |