1. 문자열 자료형
    • char(n [byte|char])
      • 고정길이 문자열 저장
      • 2000byte까지 저장 가능
        • 한글 한 글자는 3byte 666글자 저장 가능, 영어 한 글자는 1byte 2000글자 저장 가능
      • 기억공간이 남으면 왼쪽에 공백 삽입
      • [byte|char]
        • n은 기억공간의 크기를 나타냄
        • byte는 nbyte를 의미하며 아무것도 작성하지 않을 시 기본으로 byte가 설정된다
          • char(20) == char(20 byte)
        • char는 n글자를 의미하며 1 글자당 2byte로 설정된다.
          • char(5 char) =>10byte의 저장 공간이 생김
        • char는 사용하지 않는 것을 추천
    • varchar(n [byte|char]), varchar2(n [byte|char])
      • 가변 길이 문자열 저장
      • 4000byte까지 저장 가능
      • 정의된 데이터가 확보된 기억공간 보다 적으면 남은 공간은 시스템이 반납
        • 사이즈가 입력된 데이터의 사이즈에 맞게 수정됨(설정한 n값 안에서)
      • varchar와 varchar2는 기능적으로 동일하지만 오라클에서는 varchar2 사용을 권장
    • long
      • 가변 길이 문자열 저장
      • 한 테이블에 하나만 사용 가능
      • clob로 대체
      • 사용 영역의 제한
        • Selec문의 Selec절, Update문의 Set절, Insert문의 Values절에만 사용 가능
    • clob
      • Charactor Large Object의 준말
      • 대용량 문자 자료형
      • 한 칼럼이 4GB
      • 문자열에 관련된 함수의 제약이 있다
      • 가변 기억 공간
      • long과 다르게 한 테이블에 사용할 수 있는 칼럼 개수는 제한이 없다
      • 일부 기능은 DBMS_LOB API의 지원을 받아야 한다
    • nchar
      • 오라클은 기본적으로 아스키코드로 인코딩을 하는데 한글 등 UTF-8, 16을 사용해야 할 때 사용
      • 그냥 char를 사용해도 된다.
  2. 숫자 자료형
    • number[(정밀도)|*[, 스케일]]
      • 숫자의 크기를 입력해줄 필요가 없다
      • 정밀도 : 전체 자릿수(1~38)
      • 스케일 : 소수점 이하의 자릿수
        • number(5, 2) => 전체 5자리 중 소수점 이하가 2자리이고 이곳에는 소수점 3자리에서 반올림된 값이 저장. 정수 부분의 자리는 3자리
      • 정밀도 > 스케일 => 일반적인 케이스
      • 정밀도 < 스케일 => 매우 희귀한 케이스
  3. 날짜 자료형
    • date
      • 년, 월, 일, 시, 분, 초 자료를 저장하기 위한 자료형
      • 년월일과 시분초로 나누어지며 시분초를 안 쓰면 0시 0분 0초가 됨
      • +와 -연산의 대상
      • 정수를 더하거나 뺄 때는 day가 변함
      • day - day를 하면 두 일자의 차이가 나옴
      • sysdate = 시스템에서 제공하는 날짜 정보(우측 하단의 시간과 동일)
    • timestamp
      • 시간 대역(time zone) 정보를 포함한 날짜 정보를 저장
      • 10억 분의 1초 단위 사용
      • 종류
        • timestamp : 시간대 정보 없음
        • timestamp with local time zone : 서버가 설치된 시간대 정보로 보통 timestamp와 동일
        • timestamp with time zone : 시간대 정보(대륙명/도시명) 제공
  4. 기타 자료형
    • 2진 자료형 : 2진 데이터를 저장하기 위한 자료형 / 아래 자료형이 거의 비슷하다
    • raw
      • 상대적으로 작은 2진 자료 저장
      • 인덱스 처리 가능
      • 최대 2000byte까지 저장 가능
      • 16진수, 2진수 저장 가능
      • raw(size)
    • bfile(가장 많이 사용됨)
      • 대상이 되는 2진 자료는 데이터베이스 밖에 저장하고 DB에는 경로와 파일명만 저장
      • 4GB까지 저장 가능
      • 파일명은 영어 권장
      • 디렉터리(폴더)의 별칭은 30byte, 파일명은 256byte까지 사용 가능하다
      • 디렉터리 객체를 생성해 줘야 하며 위치 값은 절대 경로로 입력해 준다.
    • blob
      • 대상이 되는 2진 자료가 테이블 내부에 저장된다
      • 4GB까지 저장 가능
      • 일반적인 방법으로는 저장이 불가능하고(Insert 사용 불가), declare > begin > end를 사용해서 데이터를 저장해준다.

'DataBase > Oracle' 카테고리의 다른 글

8. Function - 문자열 함수  (0) 2021.06.22
7. 연산자(Operator)  (0) 2021.06.18
6. Selec  (0) 2021.06.14
5. DDL(Data Definition Language) - Drop  (0) 2021.06.14
4. DML(Data Manipulation Language) - insert  (0) 2021.06.14

+ Recent posts