sqlite で DATETIME、BOOLEAN を使うべきかも

sqlite の型は、NULL, INTEGER, REAL, TEXT,  BLOB のみ
でも、CREATE TABLE で DATETIME や BOOLEAN(BOOL) 型も受け付ける

それぞれ
DATETIME = TEXT
BOOLEAN = INTEGER
としてテーブルが作成されるわけですが、テーブル構造には元の型情報が残ります

これらの型情報、DB接続するライブラリを用いた時に効いてきます

多くのDBライブラリは sqlite以外へも接続できるため、DB依存の型を吸収しようとします
特に sqliteのような型種類が少ないDBの場合、ライブラリによってテーブルの型情報をチェックして変換するものがあり、asDatetime みたいな変換を DATETIME 型で宣言しておけば、すんなり行ってくれたりするわけです

コメント