SQLite3を使ってた中で、問題になったのはDate型を実装できないこと。
SQLite3上で日付を扱いたい場合はデータ型はtext形で作る必要がある。
データは必ず以下の形式で格納する。
YYYY-MM-DDTHH:MM:SS
まずはORDER BY などで降順昇順に並び替える場合。
例) Select * From TestTable Order by 日付
文字列だが、形式がちゃんとしてれば普通にORDER BYするだけで問題ない。
日付の比較をしたい場合(公開日時が現時刻より古いレコードを探す)
例) Select * From TestTable Where julianday(公開日時) <= julianday(datetime('now', 'localtime'))
julianday()は決まった形式の文字列をユリウス暦に置き換えて計算してくれます。
ユリウス暦とはある基点となる時点から、その日付までの秒数?を足した整数値で
かなりの桁がある整数値です。
[0回]
PR
COMMENT