Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Datatypes

언제나 그렇듯이 새로운 프로그래밍 언어를 배우면 제일 먼저 나오는 것이 데이터 타입이다. 별로 재미는 없지만 기본적으로 알아야 할 내용이므로 가볍게 읽고 넘어가자. 오라클에서 SQL을 사용해 본 독자라면 다들 알고 있을 것이다.

오라클에는 두가지 종류의 데이터 타입이 있다. 하나는 Internal이고 다른 하나는 External이다. Internal Datatype은 오라클 데이터베이스 내부에서 데이터를 어떻게 저장할 것인지를 결정하는 결정하는 것이고 External Datatype은 호스트 변수를 통해 데이터 입/출력 되는 데이터의 형식을 결정하는 것이다.

먼저 많이 쓰이는 몇 가지 Internal datatype을 살펴보자

  • 표1 Oracle Internal Datatypes
|| 타입 || 설명 ||
VARCHAR2 가변길이 문자열 데이터 타입. 최대 4000 bytes.
NUMBER 숫자형 데이터 타입. 최대 38자리.
LONG 가변길이 문자열 데이터 타입. 최대 2 Gbytes.
ROWID 테이블의 RowID를 가질 수 있는 특별한 데이터 타입.
DATE 날짜형 데이터 타입. 7 bytes.
CHAR 고정길이 문자열 데이터 타입. 최대 2000 bytes.
BFILE 외부 파일 LOB. 최대 4 Gbytes.
BLOB 이진 데이터 LOB. 최대 4 Gbytes.
CLOB 문자 데이터 LOB. 최대 4 Gbytes.
SQL을 사용하면서 많이 보아왔던 형태의 데이터 타입들이다. 이러한 오라클 내부적인 데이터 타입은 실제 우리가 사용할 C 언어의 데이터 타입과는 다소 다르다. 그러나 충분히 다른 데이터 타입으로 변환이 가능하기 때문에 그렇게 신경쓸 부분은 없을 것이다.

다음으로 많이 쓰이는 몇 가지 External datatypes를 살펴보자.
  • 표2 Oracle External Datatypes
|| 타입 || 설명 ||
VARCHAR2 가변길이 문자열 데이터 타입. 최대 65535 bytes.
NUMBER 10진 숫자 데이터 타입.
INTEGER 2 or 4 byte의 부호있는 정수 데이터 타입
FLOAT 4 or 8 byte의 실수 데이터 타입
STRING NULL 문자로 끝나는 가변길이 문자열 데이터 타입
LONG 고정길이 문자열 데이터 타입. 최대 2G bytes.
VARRAW 가면길이 이진 데이터 타입. 최대 65533 bytes.
LONG VARRAW 가면길이 이진 데이터 타입. 최대 2G bytes.
위의 예제는 어디까지나 실제 많이 사용하는(최소한 이 문서에서는) 몇 가지만을 보여준 것이다. 더 자세한 정보를 얻고 싶으면 http://otn.oracle.com 에 방문하여 Pro*C/C++ Precompiler Programmer’s Guide 문서를 참고하라.