コンテンツにスキップ

データ型

目次

データ型一覧

型名説明値の範囲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)-
ipv4IPv4 アドレス(4 バイト)“0.0.0.0” ~ “255.255.255.255”-
ipv6IPv6 アドレス(16 バイト)“0000:0000:0000:0000:0000:0000:0000:0000” ~ “FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF”-
textテキスト(キーワードインデックスを作成可能)長さ: 0 ~ 64M-
binaryバイナリー(Log:0~64M)/ Tag の固定長(1~32K-1)Log: 0 ~ 64M
Tag: 1 ~ 32767 バイト
-
jsonJSON データJSON データの長さ : 1 ~ 32768 (32K)

JSON パスの長さ : 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 日の午前 0 時からの経過時間をナノ秒で保持します。

日時関連の関数では、ナノ秒単位まで処理できます。

varchar

最大 32K バイトの可変長文字列型です。

長さは英字 1 文字を 1 バイトとして数えるため、UTF-8 の表示文字数とは異なります。必要なバイト数で指定してください。

IPv4

Internet Protocol version 4 のアドレスを保存します。

内部では 4 バイトを使用し、0.0.0.0 ~ 255.255.255.255 を表します。

IPv6

Internet Protocol version 6 のアドレスを保存します。

内部では 16 バイトを使用し、0000:0000:0000:0000:0000:0000:0000:0000 ~ FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF を表します。 入力時は、: を使用した次の省略形式もサポートします。

  • ::FFFF:1232:先頭の連続したゼロを省略
  • ::FFFF:192.168.0.3:IPv4 互換の表現
  • ::192.168.3.1:旧式の IPv4 互換表現

text

VARCHAR のサイズを超えるテキストや文書を保存します。

キーワードインデックスで検索でき、最大 64 MB を保存できます。 主に大きなテキストファイルを個別の列として保存、検索する場合に使用します。

binary

Log テーブルの BINARY は、画像や文書などの非構造化データを保存します。 TEXT と同じ最大 64 MB です。Lookup と Volatile には BINARY 列を定義できません。

Tag テーブルの BINARY(n) は、センサーフレーム用の固定長型です。 有効なサイズは 1 ~ 32K-1(32767)バイトです。SQL では X'...'B'...'O'...' のバイナリーリテラルをサポートし、接頭辞は小文字でも指定できます。 従来の '0x...' 形式の文字列入力も互換性のためにサポートします。入力元にかかわらず、 対象の BINARY(n) の長さを超えると、挿入は次のエラーになります。 [ERR-02233: Error occurred at column (n): (Invalid insert value.)]。 メタデータは宣言したバイト長を返します。一方、SQL の LENGTH(binary_col) と machsql のテキスト出力は、短い入力の末尾に付加したゼロパディングを除外します。 machsql は 0x 接頭辞なしの大文字の 16 進数で表示します。固定長の BINARY(n) は Tag テーブルでのみ使用できます。詳細は バイナリー列を参照してください。

json

JSON データを保存する型です。

JSON はキーと値の組からなるオブジェクトを、テキストで表現する形式です。

最大サイズは VARCHAR と同じ 32K バイトです。

SQL データ型の対応

Machbase の型に対応する SQL 型と C 型を示します。

Machbase 型Machbase CLI 型SQL 型C 型C の基本型説明
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 (タイムスタンプ:ナノ秒)
struct tm
日時
varcharSQL_VARCHARSQL_VARCHARSQL_C_CHARchar *文字列
ipv4SQL_IPV4SQL_VARCHARSQL_C_CHARchar * (IP 文字列)

unsigned char[4]
IPv4 アドレス
ipv6SQL_IPV6SQL_VARCHARSQL_C_CHARchar * (IP 文字列)

unsigned char[16]
IPv6 アドレス
textSQL_TEXTSQL_LONGVARCHARSQL_C_CHARchar *テキスト
binarySQL_BINARYSQL_BINARYSQL_C_BINARYchar *バイナリーデータ
jsonSQL_JSONSQL_JSONSQL_C_CHARjson_tJSON データ
最終更新日