본문 바로가기
Programming/SQL

[Oracle] 03. 자주 쓰는 자료형(DataType)

by 고막고막 2019. 4. 18.

문자 타입

  • VARCHAR2(n) : 가변길이 문자 타입(1<n<4000byte)
  • VARCHAR(n)  : VARCHAR2와 동일, 안 써도 됨.
                       오라클에서 10g부터 앞으로 VARCHAR는 다른 용도로 쓸 예정이니 VARCHAR2를 쓰라고 권고함.
  • CHAR(n) : 고정길이 문자 타입(1<n<2000byte)

    ※ VARCHAR2(1000)과 CHAR(1000)과의 차이점?
      VARCHAR2(1000)은 영문 10글자만 입력되면 10byte의 공간만 차지, 최대 1000byte가 가능하다는 의미.
      CHAR(1000)은 무조건 1000byte의 공간을 생성하고 앞에 10byte만 채운다.
      ㅁㅁㅁㅁㅁㅁㅁ이전에는 CHAR가 VACHAR2보다 검색속도가 빨랐으나 알고리즘의 개선으로 거의 차이가 없어져서 그냥 VARCHAR2만 써도 무방함. 그러나 이전부터 설계하던 사람들은 종종 쓰기도 한다.

숫자 타입

  • NUMBER(n,p) : 숫자 타입. n은 전체 자리수, p는 소수점 이하 자리수.
                       전체 자리수를 초과할 경우 입력이 거부되지만, 소수점 이하 자리가 초과될 경우는 반올림.
                       소수점 이하의 값이 없는 경우는 길이를 지정하지 않는 것이 좋다.(no NUMBER)

날짜 타입

  • DATE : 날짜 타입. 출력이나 입력형식과 무관하게 YYYY/MM/DD:HH25:MT:SS 형태로 저장된다.
             (표현가능범위: 기원전 4712년 1월 1일 ~ 서기 9999년 12월 31일)
// YY/MM/DD 포맷의 날짜를 변경해주는 함수
ALTER SESSION SET nls_date_format = 'YYYY/MM/DD';