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型は型定義のない型で、どのクラスのデータを格納する時にもデータ変換をしない。