Page 27 -
P. 27
3.4.2 컬럼의 데이터형
두 번째로 컬럼의 데이터 유형을 명시해야 합니다. 여기서 얘기가 좀 길어질 것
같군요.
늘 사용하는 일반적인 데이터를 생각해 보면 대부분의 데이터는 문자나 숫자로
분류할 수 있고, 하나 덧붙이면 날짜 데이터까지 포함할 수 있습니다. 오라클을
포함한 대부분의 RDBMS에서는 이 세 종류의 데이터 유형을 좀 더 세분화했
습니다. 어떻게 세분화했는지 표 3-1을 통해 살펴보죠.
표 3-1 오라클에서 제공하는 대표적 데이터형
데이터 유형 데이터형 설명
문자형 CHAR(n) 고정 길이 문자, 최대 2000byte
VARCHAR2(n) 가변 길이 문자, 최대 4000byte
숫자형 NUMBER[(p, [s])] p(1~38, 디폴트 값은 38)와 s(-84~127, 디폴트
값은 0)는 십진수 기준, 최대 22byte
날짜형 DATE BC 4712년 1월 1일부터 9999년 12월 31일까지
년, 월, 일, 시, 분, 초까지 입력 가능
사실 표 3-1에 나온 것보다 더 많은 데이터형이 있지만, 이 네 가지만 사용해도
웬만한 데이터는 모두 다룰 수 있습니다.
문자형 데이터형의 괄호 안 n은 숫자를 의미합니다. 가령 VARCHAR2(10)이라고
하면 VARCHAR2형 문자를 10byte 사용하겠다는 것이죠. 즉, 데이터를 10byte까
지 해당 컬럼에 입력할 수 있다는 의미입니다. 만약 10byte를 넘어가면 데이터
입력 시 오류가 발생합니다.
그렇다면 CHAR와 VARCHAR2의 차이점은 무엇일까요? CHAR는 고정 길이,
VARCHAR2는 가변 길이입니다. 만약 CHAR(10)형으로 컬럼을 만들고 ‘A’란 문자
를 넣었을 경우 이 데이터의 크기는 1byte가 아닌 10byte가 됩니다. 고정으로
10byte를 차지하는 거죠. 반면 VARCHAR2(10)형으로 컬럼을 만들어 ‘A’란 문자
3장 SQL 입문 39
누구나 쉽게 SQL(본문)최종.indd 39 2019-05-28 오후 5:08:45