데이터 타입 테이블


타입명

설명

값 범위

NULL 값

short

16비트 부호 있는 정수형 데이터 타입

-32767 ~ 32767

-32768

ushort

16비트 무부호 정수형 데이터 타입

0 ~ 65534

65535

integer

32비트 부호 있는 정수형 데이터 타입

-2147483647 ~ 2147483647

-2147483648

uinteger

32비트 무부호 정수형 데이터 타입

0 ~ 4294967294

4294967295

long

64비트 부호 있는 정수형 데이터 타입

-9223372036854775807 ~ 9223372036854775807

-9223372036854775808

ulong

64비트 무부호 정수형 데이터 타입

0~18446744073709551614

18446744073709551615

float

32비트 부동 소수점 테이타 타입

-

-

double

64비트 부동 소수점 테이타 타입

-

-

datetime

시간 및 날짜

1970-01-01 00:00:00 000:000:000 ~

-

varchar

가변길이 문자열 (UTF-8)

길이 : 1 ~ 32768 (32K)

-

ipv4

Version 4의 인터넷 주소 타입 (4 바이트)

"0.0.0.0" ~ "255.255.255.255"

-

ipv6

Version 6의 인터넷 주소 타입 (16 바이트)

"0000:0000:0000:0000:0000:0000:0000:0000" ~ "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF"

-

text

텍스트 데이터형 (키워드 인덱스 생성가능)

길이 : 0 ~ 64M

-

binary

바이너리 데이터형
(인덱스 생성 불가능)

길이 : 0 ~ 64M

-

목차



short

C 언어의 16비트 부호있는 정수형 데이터와 동일하다. 최소 음수값에 대해서는 NULL로 인식한다. "int16" 이라고 표시해도 된다.

integer

C 언어의 32비트 부호있는 정수형 데이터와 동일하다. 최소 음수값에 대해서는 NULL로 인식한다. "int32" 또는 "int" 라고 표시해도 된다.

long

C 언어의 64비트 부호있는 정수형 데이터와 동일하다. 최소 음수값에 대해서는 NULL로 인식한다. "int64" 라고 표시해도 된다.

float

C 언어의 32비트 부동 소수점 데이터타입 float와 동일하다. 양수 최대값에 대해 NULL로 인식한다.

double

C 언어의 64비트 부동 소수점 데이터타입 double과 동일하다. 양수 최대값에 대해 NULL로 인식한다.

datetime

마크베이스에서는 이 타입은 1970년 1월 1일 자정 이후에 흘러간 시간의 나노값을 유지한다.

따라서, 마크베이스는 datetime 타입 관련 모든 함수에 대해서 nano 단위까지 값을 처리할 수 있도록 제공한다.

varchar

가변 문자열 데이터 타입이며, 길이는 최대 32K byte까지 생성이 가능하다.

이 길이의 기준은 영문 1자를 기준으로 한 것이기 때문에 UTF-8에서 표현하는 실제 출력되는 문자 개수와는 서로 다르며, 적절한 길이로 설정해야 한다.

IPv4

이 타입은 인터넷 프로토콜 버전 4에서 사용되는 주소를 저장할 수 있는 타입이다.

내부적으로 4바이트를 사용하여 표현하고 있으며, "0.0.0.0" 부터 "255.255.255.255"까지 모두 표현 가능하다.

IPv6

이 타입은 인터넷 프로토콜 버전 6에서 사용되는 주소를 저장할 수 있는 타입이다.

내부적으로 16바이트를 사용하여 표현하고 있으며, "0000:0000:0000:0000:0000:0000:0000:0000" 부터 "FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF" 까지 표현 가능하다.

데이터 입력시에는 축약형도 지원하기 때문에 : 기호를 활용하여 다음과 같이 표현할 수 있다.

  • "::FFFF:1232" : 앞자리가 모두 0일 경우 
  • "::FFFF:192.168.0.3" : IPv4 형 호환형 지원 
  • "::192.168.3.1" : deprecated 된 IPv4 형 호환형 지원

text

이 타입은 VARCHAR 의 크기를 넘어선 문자열 혹은 문서를 저장하기 위한 데이터 타입이다.

이 데이터 타입은 키워드 인덱스를 통해 검색이 가능하며, 최대 64메가 바이트의 텍스트를 저장할 수 있다.
이 타입은 주로 큰 텍스트 파일을 별도의 컬럼으로 저장하고, 검색하기 위한 용도로 사용된다.

binary

이 타입은 비정형 데이터를 컬럼형태로 저장하기 위해 지원되는 타입이다.

이미지나 동영상 혹은 음성과 같은 바이너리 데이터를 저장하는데 사용되는데 이 타입에 대해 인덱스를 생성하여 검색할 수 없다.
저장하기 위한 최대 데이터 크기는 TEXT 타입과 동일하게 64 메가 바이트까지 가능하다.


SQL 자료형 표


아래는, 마크베이스 자료형과 대응되는 SQL 자료형, C 자료형을 표로 나타냈다.

Machbase Datatype

Machbase CLI Datatype

SQL Datatype

C Datatype

Basic types for C

Description

short

SQL_SMALLINT

SQL_SMALLINT

SQL_C_SSHORT

int16_t (short)

16비트 부호 있는 정수형 데이터 타입

ushort

SQL_USMALLINT

SQL_SMALLINT

SQL_C_USHORT

uint16_t (unsigned short)

16비트 무부호 정수형 데이터 타입

integer

SQL_INTEGER

SQL_INTEGER

SQL_C_SLONG

int32_t (int)

32비트 부호 있는 정수형 데이터 타입

uinteger

SQL_UINTEGER

SQL_INTEGER

SQL_C_ULONG

uint32_t (unsigned int)

32비트 무부호 정수형 데이터 타입

long

SQL_BIGINT

SQL_BIGINT

SQL_C_SBIGINT

int64_t (long long)

64비트 부호 있는 정수형 데이터 타입

ulong

SQL_UBIGINT

SQL_BIGINT

SQL_C_UBIGINT

uint64_t (unsigned long long)

64비트 무부호 정수형 데이터 타입

float

SQL_FLOAT

SQL_REAL

SQL_C_FLOAT

float

32비트 부동 소수점 데이터 타입

double

SQL_DOUBLE

SQL_FLOAT, SQL_DOUBLE

SQL_C_DOUBLE

double

64비트 부동 소수점 데이터 타입

datetime

SQL_TIMESTAMP


SQL_TIME

SQL_TYPE_TIMESTAMP

SQL_BIGINT

SQL_TYPE_TIME

SQL_C_TYPE_TIMESTAMP

SQL_C_UBIGINT

SQL_C_TIME

char * (YYYY-MM-DD HH24:MI:SS 출력 포맷)

int64_t (timestamp: nano seconds)

struct tm

시간 및 날짜

varchar

SQL_VARCHAR

SQL_VARCHAR

SQL_C_CHAR

char *

문자열

ipv4

SQL_IPV4

SQL_VARCHAR

SQL_C_CHAR

char * (ip 문자열 입력)

unsigned char[4]

Version 4 인터넷 주소 타입

ipv6

SQL_IPV6

SQL_VARCHAR

SQL_C_CHAR

char * (ip 문자열 입력)

unsigned char[16]

Version 6 인터넷 주소 타입

text

SQL_TEXT

SQL_LONGVARCHAR

SQL_C_CHAR

char *

텍스트

binary

SQL_BINARY

SQL_BINARY

SQL_C_BINARY

char *

바이너리 데이터

  • No labels