- 公開日:2011年10月22日
- 最終更新日:2015年06月17日
記事概要
スマホアプリ開発で欠かせないsqlite3での日付の扱い方について説明します。
oracleやmysqlのBETWEEN句をsqlite3で利用したい人向けの記事です。
sqlite3の日付型について
sqlite3は日付の型をもちません。
なのでmysqlのようにyyyy/MM/ddの日付形式は利用できません。
sqlite3で日付を扱いたい場合は、以下の書式の文字列を日付を表す文字列【Time String】として扱います。
- YYYY-MM-DD(年-月-日)
- YYYY-MM-DD HH:MM:SS(年-月-日 時:分:秒)
その他に利用できる日付形式もありますが、一般的には上二つの形式で事足りると思います。
他の形式を利用したい場合は、このアドレスを参照してください。
また、カラムはtext型にする必要があります。
sqlite3の日付で範囲を絞り込む場合(BETWEEN)
日付で範囲を絞り込むデータ取得の時、oracleやmysqlのBETWEEN句のように、日付の範囲指定をする場合は以下のようにする必要があります。
datetime(カラム名称, 'localtime') < datetime('2011-10-22', 'localtime')
第二引数に'localtime'を指定しているのは、sqlite3の日付を表す文字列【Time String】は、デフォルトでUTC(協定世界時)を扱うためです。
基本的に、sqliteは日付の扱いは得意でないということを認識しておいてください。
以上
android開発のオススメ書籍
全くのandroid開発初心者には向かない本ですが、ある程度開発に慣れた人が目を通すのに、良い本だと思います。 android本の購入の際は、自分が対応するandroidのバージョンを確認するようにしましょう。
このコメントは投稿者によって削除されました。
返信削除