プロジェクト

全般

プロフィール

SQLite3

データ型

SQLite3データベース格納型

SQLite3 のデータベースに格納できる値の型は次のとおりです。
Datatypes In SQLite Version 3

内容
NULL NULL値
INTEGER 符号付き整数、値の大きさにより 1,2,3,4,6,または8バイトで格納される
REAL 浮動小数点数、8バイト IEEE浮動小数点数で格納される
TEXT 文字列、データベースのエンコーディング(UTF-8,UTF-16BE,またはUTF-16LE)で格納される
BLOB blobデータ、値そのままで格納される
  • INTEGERは格納されたサイズによらずメモリに読みだされた際はもっとも汎用的な型(8バイト符号付き整数)に変換される。

SQLデータ型との対応

  • Booleanは、整数値(0: 偽、1: 真)として格納
  • DateおよびDateTimeは、Date And Time関数を介してTEXT、REALまたはINTEGER型として格納
    • TEXTの場合は、ISO8601文字列("YYYY-MM-DD HH:MM:SS.SSS")の形式
    • REALの場合は、ユリウス暦でグリニッジ標準時 紀元前4714年11月24日正午からの積算日数
    • INTEGERの場合は、UNIX時刻で西暦1970年1月1日 00:00:00 UTCからの積算秒

AUTOINCREMENT

過去に使用した値は delete されていても再利用されません。

SQLite特有の機能

ROWID

SQLite でテーブルを作成すると、自動的に隠れたカラム ROWID が生成されます。INTEGER型で一意な値を保持し、レコードを挿入すると自動で値を割り当てます。機能的にはINTEGER PRIMARY KEYと同一で、テーブルのカラムに明示的にINTEGER PRIMARY KEYを指定した場合、そのカラムの値が ROWID の値となります。(この場合、ROWIDはINTEGER PRIMARY KEYのカラムへのエイリアスとなる)