자료형

목차

데이터 타입 테이블

타입명설명값 범위NULL 값
short16비트 부호 있는 정수형 데이터 타입-32767 ~ 32767-32768
ushort16비트 무부호 정수형 데이터 타입0 ~ 6553465535
integer32비트 부호 있는 정수형 데이터 타입-2147483647 ~ 2147483647-2147483648
uinteger32비트 무부호 정수형 데이터 타입0 ~ 42949672944294967295
long64비트 부호 있는 정수형 데이터 타입-9223372036854775807 ~ 9223372036854775807-9223372036854775808
ulong64비트 무부호 정수형 데이터 타입0~1844674407370955161418446744073709551615
float32비트 부동 소수점 테이타 타입--
double64비트 부동 소수점 테이타 타입--
datetime시간 및 날짜1970-01-01 00:00:00 000:000:000 ~ 2262-04-11 23:47:16.854:775:807-
varchar가변길이 문자열 (UTF-8)길이 : 1 ~ 32768 (32K)-
ipv4Version 4의 인터넷 주소 타입 (4 바이트)“0.0.0.0” ~ “255.255.255.255”-
ipv6Version 6의 인터넷 주소 타입 (16 바이트)“0000:0000:0000:0000:0000:0000:0000:0000” ~ “FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF”-
text텍스트 데이터형 (키워드 인덱스 생성가능)길이 : 0 ~ 64M-
binary바이너리 데이터형
(인덱스 생성 불가능)
길이 : 0 ~ 64M-
jsonjson 데이터 타입json data 길이 : 1 ~ 32768 (32K)
json path 길이 : 1 ~ 512
-

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 메가 바이트까지 가능하다.

json

이 타입은 json 데이터를 저장하기 위해 지원되는 타입이다.

json이란, “Key-Value"의 쌍으로 이루어진 데이터 오브젝트를 텍스트형으로 저장한 포맷이다. 저장하기 위한 최대 데이터 크기는 varchar 타입과 동일하게 32K byte까지 생성이 가능하다.

SQL 자료형 표

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

Machbase DatatypeMachbase CLI DatatypeSQL DatatypeC DatatypeBasic types for CDescription
shortSQL_SMALLINTSQL_SMALLINTSQL_C_SSHORTint16_t (short)16비트 부호 있는 정수형 데이터 타입
ushortSQL_USMALLINTSQL_SMALLINTSQL_C_USHORTuint16_t (unsigned short)16비트 무부호 정수형 데이터 타입
integerSQL_INTEGERSQL_INTEGERSQL_C_SLONGint32_t (int)32비트 부호 있는 정수형 데이터 타입
uintegerSQL_UINTEGERSQL_INTEGERSQL_C_ULONGuint32_t (unsigned int)32비트 무부호 정수형 데이터 타입
longSQL_BIGINTSQL_BIGINTSQL_C_SBIGINTint64_t (long long)64비트 부호 있는 정수형 데이터 타입
ulongSQL_UBIGINTSQL_BIGINTSQL_C_UBIGINTuint64_t (unsigned long long)64비트 무부호 정수형 데이터 타입
floatSQL_FLOATSQL_REALSQL_C_FLOATfloat32비트 부동 소수점 데이터 타입
doubleSQL_DOUBLESQL_FLOAT, SQL_DOUBLESQL_C_DOUBLEdouble64비트 부동 소수점 데이터 타입
datetimeSQL_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
시간 및 날짜
varcharSQL_VARCHARSQL_VARCHARSQL_C_CHARchar *문자열
ipv4SQL_IPV4SQL_VARCHARSQL_C_CHARchar * (ip 문자열 입력)
unsigned char[4]
Version 4 인터넷 주소 타입
ipv6SQL_IPV6SQL_VARCHARSQL_C_CHARchar * (ip 문자열 입력)
unsigned char[16]
Version 6 인터넷 주소 타입
textSQL_TEXTSQL_LONGVARCHARSQL_C_CHARchar *텍스트
binarySQL_BINARYSQL_BINARYSQL_C_BINARYchar *바이너리 데이터
jsonSQL_JSONSQL_JSONSQL_C_CHARjson_tjson 데이터 타입
최근 업데이트