CLI 지원 데이터 타입

티베로 DB CLI에서 제공하는 데이터 타입을 소개합니다. tbCLI 데이터 타입은 데이터베이스 프로그램을 작성할 때 활용가능합니다.

tbCLI 지원 데이터 타입

  • Tibero의 데이터 타입 데이터베이스에 저장된 데이터에 접근할 때 사용합니다.

  • tbCLI의 데이터 타입 애플리케이션 프로그램에서 데이터를 조작할 때 사용합니다.


Tibero 데이터 타입

본 절에서는 Tibero에서 디폴트로 제공하는 데이터 타입을 간략히 설명합니다. 이러한 데이터 타입은 데이터베이스의 스키마 객체를 생성하는데 사용하는 것으로 tbESQL 프로그램 내에서도 모든 데이터 타입에 대응되는 변수를 사용할 수 있습니다.

Tibero 데이터 타입

구분
데이터 타입
설명

문자형

CHAR, VARCHAR, NCHAR, NVARCHAR, RAW, LONG, LONG RAW

  • 문자열이나 바이너리 데이터를 저장하는 데이터 타입

  • LONG, LONG RAW의 경우 2GB까지 저장

숫자형

NUMBER, INTEGER, FLOAT, BINARY_FLOAT, BINARY_DOUBLE

정수나 실수의 숫자를 저장하는 데이터 타입

날짜형

DATE, TIME, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH

LOCAL TIMEZONE

시간이나 날짜, 시간대를 저장하는 데이터 타입

간격형

INTERVAL YEAR TO MONTH, INTERVAL DAY TOSECOND

시간사이의 간격을 저장하는 데이터 타입

대용량 객체형

CLOB, BLOB

  • LOB 타입

  • 다른 데이터 타입이 지원하는 최대 길이(8KB 이하)보다 훨씬 큰 길이를 가질 수 있는 객체로, 4GB까지 가능

내재형

ROWID

사용자가 명시적으로 선언하지 않아도 Tibero가 자동으로 삽입되는 로우마다 포함하는 컬럼 타입

자세한 내용은 "Tibero SQL 참조 안내서"를 참고합니다.

아래는 각 데이터 타입에 대한 세부 설명입니다.

데이터 타입
설명

CHAR

VARCHAR

일반 문자열을 저장하는 데이터 타입

NCHAR

NVARCHAR

유니코드 문자열을 저장하는 데이터 타입

RAW

바이너리 데이터를 저장하는 데이터 타입

LONG

LONG RAW

  • 대용량의 문자열이나 바이너리 데이터를 저장하는 데이터 타입

  • 한 테이블 내에 하나의 컬럼만 선언 가능

NUMBER INTEGER FLOAT

정수 또는 실수를 저장하는 타입

NUMBER 타입을 선언할 때 정밀도와 스케일을 함께 선언가능

  • 정밀도 : 데이터 값의 전체 자릿수

  • 스케일 : 소수점 이하 자릿수

BINARY_FLOAT BINARY_DOUBLE

정수 또는 실수를 저장하는 타입

  • BINARY_FLOAT : 32bit 부동 소수점 타입

  • BINARY_DOUBLE : 64bit 부동 소수점 타입

DATE TIME

TIMESTAMP

TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH LOCAL TIME ZONE

특정 날짜와 시간, 시간대를 나타내는 데이터 타입

  • DATE : 특정 날짜

  • TIMESTAMP : 특정 날짜와 시간

  • TIMESTAMP WITH TIME ZONE : UTC(Coordinated Universal Time)으로 정규화된 특정 날짜와 시간, 해당 시간대

  • TIMESTAMP WITH LOCAL TIME ZOEN : UTC(CoordinatedUniversal Time)으로 정규화된 특정 날짜와 시간

INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND

특정 날짜와 시간 사이의 간격을 나타내는 데이터 타입

  • INTERVAL YEAR TO MONTH : 연도와 월로 계산한 시간 간격

  • INTERVAL DAY TO SECOND : 일, 시, 분, 초, 소수점 초로 계산한 시간 간격

CLOB BLOB

  • 대용량의 문자열이나 바이너리 데이터를 저장하는 데이터 타입

  • 한 테이블 내에 여러 컬럼을 선언 가능

ROWID

  • 데이터베이스 내의 각 로우를 식별하기 위해 Tibero 시스템이 각 로우마다 자동으로 부여하는 데이터 타입

  • 각 로우가 저장되어 있는 물리적인 위치를 포함


tbCLI 데이터 타입

본 절에서는 애플리케이션 프로그램 개발자가 데이터베이스 프로그램을 작성할 때 사용하게 되는 tbCLI의 데이터 타입을 설명합니다.

아래는 각 데이터 타입에 대한 C의 typedef 이름과 이에 대응하는 C의 데이터 타입을 보여주는 표입니다.

C의 typedef 이름
C의 데이터 타입

SQLCHAR

unsigned char

SQLSCHAR

signed char

SQLSMALLINT

short int

SQLUSMALLINT

unsigned short int

SQLINTEGER

long int

SQLUINTEGER

unsigned long int

SQLREAL

float

SQLDOUBLE, SQLFLOAT

double

DATE_STRUCT, SQL_DATE_STRUCT

TIME_STRUCT, SQL_TIME_STRUCT

TIME_STAMP_STRUCT, SQL_TIMESTAMP_STRUCT

아래는 C의 typedef 이름에 대응하는 tbCLI의 데이터 타입을 사용한 예입니다.

DATE_STRUCT, SQL_DATE_STRUCT

[예 5] DATE_STRUCT, SQL_DATE_STRUCT

typedef struct tagDATE_STRUCT
{
    SQLSMALLINT year; 
    SQLUSMALLINT month; 
    SQLUSMALLINT day;
};

TIME_STRUCT, SQL_TIME_STRUCT

[예 6] TIME_STRUCT, SQL_TIME_STRUCT

struct tagTIME_STRUCT
{
    SQLUSMALLINT hour;
    SQLUSMALLINT minute;
    SQLUSMALLINT second;
};

TIME_STAMP_STRUCT, SQL_TIMESTAMP_STRUCT

[예 7] TIME_STAMP_STRUCT, SQL_TIMESTAMP_STRUCT

struct tagTIMESTAMP_STRUCT
{
    SQLSMALLINT year; 
    SQLUSMALLINT month; 
    SQLUSMALLINT day; 
    SQLUSMALLINT hour;
    SQLUSMALLINT minute; 
    SQLUSMALLINT second;    
    SQLUINTEGER  fraction;
};

Last updated