본문 바로가기

Oracle

Oracle 데이터 타입 정리


1. 문자형 자료형 (최대 2000byte)

  • CHAR(n)
    고정 길이 문자형. 지정한 크기만큼 무조건 공간을 확보합니다.
  • VARCHAR2(n)
    가변 길이 문자형. 실제 입력된 길이만큼만 공간을 사용합니다.
CREATE TABLE test_t1 (
  memo  CHAR(1000),
  memo2 VARCHAR2(1000)
);

INSERT INTO test_t1 VALUES ('hi', 'hi');

2. 숫자형 자료형 (가변형)

  • INT
    NUMBER(38)과 동일하게 동작합니다.
  • NUMBER(n)
    정수부 자리수를 n자리로 제한합니다.
  • NUMBER(p, s)
    전체 자리수 p(precision) 중 소수점 이하 자리수 s(scale)를 지정합니다.
CREATE TABLE sample_num (
  id    INT,            -- NUMBER(38)
  cnt   NUMBER(5),      -- 최대 5자리 정수
  ratio NUMBER(8,2)     -- 최대 8자리, 소수점 이하 2자리
);

3. 날짜형 자료형

  • DATE
    연·월·일·시·분·초 정보를 저장합니다.
  • SYSDATE
    현재 시스템 날짜와 시간을 반환하는 내장 함수입니다.
-- 현재 날짜·시간 포맷팅
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS current_time
  FROM dual;

-- DUAL 테이블에서 간단한 연산 실행
SELECT 1 + 1 AS result
  FROM dual;

4. LOB (Large Object)

대용량 데이터를 저장할 때 사용하는 타입입니다.

  • BLOB (Binary Large Object)
    이진(binary) 형식 데이터 저장
  • CLOB (Character Large Object)
    텍스트(text) 형식 대용량 문자열 저장
  • LONG
    과거 버전 지원형식. 약 2GB까지 저장 가능하지만 현대에는 잘 사용되지 않습니다.
CREATE TABLE sample_lob (
  file_data BLOB,
  content   CLOB
);