2011年10月22日土曜日

sqlite3の日付処理

  • 公開日: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のバージョンを確認するようにしましょう。

関連記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

1 件のコメント:

  1. このコメントは投稿者によって削除されました。

    返信削除

Related Posts Plugin for WordPress, Blogger...