데이터 타입
오라클에서 사용되는 데이터 타입은 문자, 숫자, 날짜, 이진데이터 타입으로 구분된다.
오라클 뿐만 아니라 대부분의 DB가 비슷한 유형이다.
1. 문자 데이터 타입
문자 데이터 타입은 크게 가변길이와 고정길이로 나눌 수 있다.
가변길이란? : 실제 입력된 데이터 길이에 따라서 크기가 변화
고정길이란? : 고정길이 공간이 존재하고 그 공간에 문자가 있든 없든 남아있는 공간이 반환되지 않는다.
1-1 ) 종류
- CHAR : 고정길이 , 최대 2000byte 저장가능 주로 문자의 길이가 동일해야 하는 컬럼에 주로 사용
- NCHAR : 고정길이 , 다국어 입력가능
- VARCHAR2 : 가변길이 , 최대 4000byte (한글은 1333글자, 영어는 4000글자)
- NVARCHAR : 가변길이 , 다국어 입력가능
- LONG : 가변길이 , 대용량 문자를 위한 타입, 한 테이블 당 하나만 존재가능
- CLOB : 가변길이 , LONG의 기능 개선이 중단되고 새롭게 나온 대용량 문자를 위한 타입 최대
4GB, 여러개 존재가능- RAW : 2진 데이터를 저장할 수 있는 자료형
2. 숫자 데이터 타입
숫자자료 (정수 및 실수) 를 저장
NUMBER 하나로 전부 기술이 가능하다.
2-1 ) 유의할 점
정밀도와 스케일 !
정밀도 : 전체 자리 수 (1 ~ 30)
스케일 : 소수점 이하의 자리 수
NUMBER(정밀, 스케일) 형식으로 정밀도와 스케일을 지정해줄 수 있다.
값이 1234567.5678 의 경우를 한 번 보겠습니다.
형식 결과
NUMBER 1234567.5678
NUMBER(8) 1234568
NUMBER(6) ERROR
NUMBER(7, 3) 1234567.568
이 점 항상 유의하시기 바랍니다. 음 뭐 아무것도 안쓰는게 가장 이득인거 같군요
3. 날짜형 데이터 타입
날짜 및 시간 자료 저장
3 -1 ) 사용형식
컬럼명 DATE : 기본 날짜형
컬럼명 TIMESTAMP : 더욱 확장된 날짜 정교한 (10억분의 1초)나 시간대 정보를 포함한다.
3-2 ) 명령어
SYSDATE : 시스템이 제공하는 날짜/ 시간정보를 반환하는 함수
LAST_DAY : 날짜형이 아닌 문자형으로 반환되고 시스템상 해당 달의 마지막 날을 반환
3-3 ) 유의할 점
문자열은 날짜타입으로 바꿀 수 있지만 숫자 타입은 날짜타입으로 바꾸지 못합니다.
또한 날짜로 바뀔 수 있는 형식에 대해서만 바뀝니다.
8글자 14글자일 때만 시간에 속하는 값만 99일은 불가능하니까.
ex) 2021-12-25 는 날짜 타입으로의 변경이 가능합니다.
하지만 2021-42-53 는 변경이 불가능합니다.
4. 기타 자료 형
이진자료(BINARY DATA)를 저장하기 위한 데이터 타입
RAW, LONG RAW, BLOB, BFILE 등이 제공됩니다.
- RAW
. 상대적으로 작은 단위의 2진 자료 저장
. 인덱스 처리가 가능
. 최대 2000 BYTE 처리 가능
. 16진수 및 2진수로 형태로 저장
- BFILE
. 이진자료 저장방식
. 대상의 자료는 데이터베이스 외부에 저장되고 데이터베이스에는 경로정보와 파일명만 저장
. 최대 4GB 까지 처리 가능
- BLOB
. 이진데이터 처리 데이터 타입
. 원본자료(사진, 동영상 등)를 데이터베이스 내부에 저장(직접저장) -- BFILE은 경로를 저장
. 최대 4GB 까지 저장 가능
. 오라클에서 해석이나 변환되진 않음