### Navigation

- index
- next |
- previous |
- groonga v1.1.0 documentation »
- 4. リファレンスマニュアル »

# 4.3. データ型

## 4.3.1. 名前

groonga データ型

## 4.3.2. 説明

groonga は、格納するデータの型を区別します。

groongaのデータベースでは、テーブルの主キーや、カラムの値はいずれも何らかの型に属します。また通常は、一つのテーブルの中の全てのレコードについて、カラムの値は共通となります。

主キーの型とカラムの型には、groongaで予め定義済みの型か、ユーザが定義する型、またはユーザが定義したテーブルを指定することができます。

主キーの型に他のテーブルを指定する場合は、そのテーブルは、主キーの型となるテーブルのサブセットとなります。

カラムの型に他のテーブルを指定する場合は、そのカラムは、カラムの型となるテーブルの参照キーとなります。

## 4.3.3. 組込型

以下の型が組込型としてあらかじめ定義されています。

`Object`

> 任意のテーブルに属する全てのレコード [1]

`Bool`

> bool型。trueとfalse。

`Int8`

> 8bit符号付き整数。

`UInt8`

> 8bit符号なし整数。

`Int16`

> 16bit符号付き整数。

`UInt16`

> 16bit符号なし整数。

`Int32`

> 32bit符号付き整数。

`UInt32`

> 32bit符号なし整数。

`Int64`

> 64bit符号付き整数。

`UInt64`

> 64bit符号なし整数。

`Float`

> ieee754形式の64bit浮動小数点数。

`Time`

> 1970年1月1日0時0分0秒からの経過マイクロ秒数を64bit符号付き整数で表現した値。

`ShortText`

> 4Kbyte以下の文字列。

`Text`

> 64Kbyte以下の文字列。

`LongText`

> 2Gbyte以下の文字列。

`TokyoGeoPoint`

> 日本測地系緯度経度座標。緯度と経度はミリ秒単位での整数。 “経度のミリ秒x緯度のミリ秒”という文字列表現を持つ。 度分秒形式であれば、x度y分z秒は(((x * 60) + y) * 60 + z) * 1000という計算式で変換した値を代入します。

`WGS84GeoPoint`

> 世界測地系緯度経度座標。緯度と経度はミリ秒単位での整数。 “経度のミリ秒x緯度のミリ秒”という文字列表現を持つ。 度分秒形式であれば、x度y分z秒は(((x * 60) + y) * 60 + z) * 1000という計算式で変換した値を代入します。

## 4.3.4. 型に関する制限事項

### 4.3.4.1. テーブルの主キーに指定できない型

Text型とLongText型については、テーブルの主キーに指定することはできません。

### 4.3.4.2. ベクトルとして格納できない型

groongaのカラムは、ある型のベクトルを保存することができます。しかし、ShortText, Text, LongTextの３つの型についてはベクトルとして保存することはできません。

テーブル型は、ベクトルとして格納することができます。よって、ShortTextのベクトルを保存したい場合には、主キーがShortText型のテーブルを別途作成し、そのテーブルを型として利用します。

脚注

[1] | Object型はv1.2でサポートされます。

### Navigation

- index
- next |
- previous |
- groonga v1.1.0 documentation »
- 4. リファレンスマニュアル »