반응형
/********************************************************************************************
-- Title : [8i] 오라클 데이터 타입 정의
-- Reference : kunsan.ac.kr
-- Key word : 데이터타입 data type datatype 데이터 타입
********************************************************************************************/

단일형 데이터타입 데이터 타입 컬럼에 오직 하나의 데이터만 저장할 수 있는 타입
복합형 데이터타입 하나의 데이터 타입 컬럼에 여러 개의 데이터 타입을 저장할 수 있는 타입
관계형 데이터타입 관계형 데이터베이스의 foreign-key와 같이 다른 테이블과의 관계에 의해 데이터 타입이 정의되는 타입
사용자 정의 데이터타입 객체를 통해 데이터 타입을 정의


데이터타입 설명
CHAR[(size[BYTE ¦ CHAR])] size크기의 고정길이 문자 데이터, 기본값 1 바이트, 최대값 2000 바이트
NCHAR[(size)] size크기의 고정길이 문자 데이터, 기본값 1 바이트, 최대값 2000 바이트
VARCHAR2(size[BYTE ¦ CHAR]) size 크기의 가변길이 문자 데이터,
최소값 1, 최대값 4000, 반드시 최대값을 지정
NVARCHAR2(size) size 크기의 가변길이 국가별 문자 데이터,
최소값 1, 치대값 4000, 반드시 최대값을 지정
NUMBER[(p[,s])] 숫자값 -38자릿수에서 +38 자릿수까지 저장
p는 전체 자릿수, s는 소숫점이하 자릿수
FLOAT[(p)] 정밀도 p는 1∼126 binary digits로, 1∼22bytes가 필요함,
FLOAT는 내부적으로 NUMBER처럼 나타냄
LONG 문자(가변길이, 2GB까지 지원)
DATE 날짜, 시간 값(고정길이, 7byte)을 저장
BINARY_FLOAT 32-bit floating point number로 데이터타입은 5바이트가 요구됨
BINARY_DOUBLE 64-bit floating point number로 데이터타입은 9바이트가 요구됨
RAW(size),
LONG RAW
이진데이터, RAW의 최대값은 2000으로 반드시 size를 기술해야 하며 LONG RAW는 2GB까지 지원
CLOB 텍스트 데이터를 저장=(4GB-1)*(data block size)
NCLOB 텍스트 데이터를 저장=(4GB-1)*(data block size)
BLOB 2진 데이터를 (4GB-1)*(database block size)까지 저장
BFILE 2진 데이터를 외부 file형태로 4GB까지 저장
ROWID 테이블 내의 행의 고유 주소를 가지는 64 문자 타입
UROWID[(size)] 테이블 내의 행의 고유 주소를 가지는 64 문자 타입으로 최대크기이자 디폴트인 4000바이트
TIMESTAMP[(n)] DATE의 확장 형태로, 최대 9자리의 년,월,일,시,분,초,밀리초까지 보여줌
n은 초단위 다음에 이어서 나타낼 mili second의 자릿수로 기본값은 6이다
TIMESTAMP 95/08/08 00:00:00.000000
TIMESTAMP(0) 95/08/08 00:00:00
TIMESTAMP(2) 95/08/08 00:00:00.00
TIMESTAMP(7) 95/08/08 00:00:00.0000000
TIMESTAMP(9) 95/08/08 00:00:00.000000000
TIMESTAMP[(n)] WITH TIME ZONE 지역 시간과 월드시의 차이난 시간 정보를 보여줌, n은 초단위 다음에 이어서 나타낼 mili second의 자릿수로 기본값은 6이다.
TIMESTAMP[(n)] WITH LOCAL TIME ZONE 지역 시간으로 변환하여 저장, n은 초단위 다음에 이어서 나타낼 mili second의 자릿수로 기본값은 6이다
INTERVAL YEAR[(n)] TO MONTH 년과 월을 사용하여 날짜값의 기간을 저장
INTERVAL DAY[(n)] TO SECOND[(n)] 두 날짜값 사이의 차이를 일,시,분,초의 기간으로 지정
INTERVAL DAY TO HOUR 두 날짜값 사이의 차이를 일,시,분,초의 기간으로 지정
INTERVAL DAY TO MINUTE 두 날짜값 사이의 차이를 일,시,분,초의 기간으로 지정
INTERVAL HOUR TO SECOND 두 날짜값 사이의 차이를 일,시,분,초의 기간으로 지정
binary_float_nan not a number(NAN) for BINARY_FLOAT 타입
binary_float_infinity infinity(INF) for BINARY_FLOAT 타입 (무한대)
binary_double_nan not a number(NAN) for BINARY_DOUBLE 타입
binary_double_infinity infinity(INF) for BINARY_DOUBLE 타입 (무한대)


LONG/LONG RAW와 BLOB/CLOB의 차이점
LONG/LONG RAW LOB
하나의 테이블에 하나의 컬럼만 정의 하나의 테이블에 여러 컬럼에 정의
2GB까지 저장가능 4GB까지 저장 가능
SELECT하면 실제 데이터가 리턴 데이터가 존재하는 위치만 리턴
데이터는 항상 DB 내에 저장 데이터는 DB 내부 또는 외부에 저장
데이터는 순차적으로 읽음 데이터는 랜덤하게 읽음


TIMESTAMP 함수 
current_date 현재의 날짜/시간 정보를 "일/월/년 24시:분:초" 형식으로 보여준다.
current_timestamp 현재 시간을 mili-second까지 나타낸다. 또한 실제 지역시간과의 차이시간도 나타낸다.
localtimestamp 현재 지역시간을 보여준다.
DBtimezone 오라클 DB가 처음 생성될 때 운영체제로부터 확인된 시간정보
sessiontimezone 현재 사용자가 접속한 세션에서 alter session set time_zone 명령에 의해서 적용된 시간정보
extract sysdate 함수로부토 특정 시간 정보를 추출하여 참조할 때 사용
from_tz alter session set 절을 사용하여 현재 시간 정보를 세션 레벨에서 변경하지 못하는 경우 이 함수를 사용하면 timestamp with time zone의 시간 정보를 참조할 수 있다.
to_timestamp & to_timestamp_tz timestamp와 timestamp with time zone 정보의 출력 형식을 결정할 때 사용
to_yminterval 지정된 시간 정보를 interval 날짜 형식으로 변환하여 보여준다.


반응형

+ Recent posts