SQLite資料一覧

記憶クラス(データ型)とカラム型

2008/4/10更新

対応バージョン: 3.5.7

SQLiteのバージョン3はデータ自身の種類を表す「記憶クラス(データ型)」とカラムの種類を表す「カラム型」という概念を持つ。

基本的にどの記憶クラスをどのカラム型に格納してもよいが、カラム型によっては格納データが加工される場合がある。

以下、記憶クラスとカラム型の一覧を示す。

記憶クラス

NULLクラス

NULL値。

INTEGERクラス

符号付整数。最大8バイトで格納される。

REALクラス

浮動小数点値。8バイトのIEEE浮動小数点数として格納される。

TEXTクラス

テキスト文字列。エンコーディングはUTF-8、UTF-16BE、UTF-16-LEのいずれかが使用される。

BLOBクラス

入力されたデータがそのまま格納される。

カラム型

TEXT型

TEXT型にはNULLクラス、TEXTクラス、BLOBクラスの値が格納できる。

数値データを格納するとテキストの値に変換される。

NUMERIC型

NUMERIC型には全てのクラスの値が格納できる。

テキストデータを格納しようとした場合、まずINTEGERクラス又はREALクラスの値に変換しようとし、成功すればそのクラスの値として格納され、失敗すればTEXTクラスの値として格納される。

また型を指定しない場合もNUMERIC型になる。

INTEGER型

INTEGER型は基本的にNUMERIC型と同じである。

ただし小数点を含む値を格納しようとした場合は整数の値に変換される。

REAL型

REAL型も基本的にNUMERIC型と同じであるが、整数を格納しようとした場合は小数点が付与されて格納される。

NONE型

NONE型は型定義のない型で、どのクラスのデータを格納する時にもデータ変換をしない。