데이터 타입
데이터 타입이란 컬럼이 저장되는 데이터 유형을 말합니다. 오라클에서 기본적으로 제공하는 기본 데이터 타입과 이 기본데이터 타입을 혼합하여 만들 수 있는 사용자 정의 데이터 타입으로 구분할 수 있습니다. 기본 데이터 타입은 문자형, 실수, 소수, 자료형 등의 여러 데이터를 식별하는 타입입니다.
문자 데이터 타입
데이터타입 | 설명 |
CHAR(n) | 고정길이 문자 / 최대 2000byte / 디폴트 값은 1byte |
VARCHAR2(n) | 가변길이 문자 / 최대 4000BYTE / 디폴트 값은 1byte |
NCHAR(n) | 고정길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte |
NVARCHAR(n) | 가변길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte |
LONG | 최대 2GB 크기의 가변길이 문자형 |
CLOB | 대용량 텍스트 데이터 타입(최대 4Gbyte) |
NCLOB | 대용량 텍스트 유니코드 데이터 타입(최대 4Gbyte) |
가변길이란 실제 입력된 데이터 길이에 따라서 크기가 변하는 것을 의미합니다.
ex) 예를들어 가변형 문자형 데이터타입인 Varchar2에 10이라는 데이터 공간을 할당하고 abc라는 데이터를 입력했다고 치면 그 데이터는 10이라는 데이터 공간을 할당했기에 10byte까지만 데이터를 입력받을 수 있고 3글자만 입력되었으므로 그 데이터공간은 3byte가 됩니다. 반대로 고정형 문자형 데이터타입인 CHAR에 10이라는 데이터 공간을 할당하고 마찬가지로 abc라는 데이터를 입력했다고 치면 그 데이터는 3글자만 입력되었지만 데이터 공간은 10byte가 됩니다. 남 / 여 같이 1글자만 들어올 수 있는것이 아니라면 대부분 VARCHAR2를 사용합니다.
숫자형 데이터 타입
데이터 타입 | 설명 |
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 |
숫자 타입은 4가지 타입이 있습니다. 대부분 NUMBER형을 사용합니다. P는 소수점을 포함한 전체 자릿수를 의미하고, S는 소수점 자릿수를 의미합니다. NUMBER는, 가변숫자이므로 P와S를 입력하지 않으면 저장 데이터의 크게에 맞게 자동으로 조절됩니다.
날짜 데이터 타입
데이터타입 | 설명 |
DATE | BC 4712년 1월 1일부터 9999년 12월 31일, 연, 월, 일, 시, 분, 초 까지 입력 가능 |
TIMESTAMP |
연도, 월, 일, 시, 분, 초 + 밀리초까지 입력가능 |
가장 일반적으로 쓰는 데이터타입은 DATE타입입니다.
LOB 데이터 타입
데이터 타입 | 설명 |
CLOB | 문자형 대용량 객체 고정길이와 가변길이 문자집합 지원 |
NCLOB | 유니코드를 지원하는 문자형 대용량 객체 |
BLOB | 이진형 대용량 객체 |
BFILE | 대용량 이진 파일에 대한 위치,이름 저장 |
LOB이란 Large Object의 약자로 대용량 데이터를 저장할 수 있는 데이터 타입입니다. 일반적으로 그래픽, 이미지, 사운드등 비정형 데이터를 저장할때 L,OB타입을 사용합니다. 문자형 대용량 데이터는 CLOB나 NCLOB, 그래픽, 이미지, 동영상등의 대이터는 BLOB를 주로 사용합니다.
'SQL_ORACLE' 카테고리의 다른 글
date타입 출력이 이상하게 나올 때 (0) | 2021.11.08 |
---|---|
[ORACLE] 조인 과 ANSI 조인 (0) | 2021.11.01 |
CHAR, VARCHAR, VARCHAR2 차이점 (0) | 2021.06.05 |
[ORACLE] 오라클에서 NUMBER의 범위 (0) | 2021.06.05 |
CHAR, VARCHAR, VARCHAR2 차이점 (0) | 2021.05.11 |