雲雀は高く空を舞い このページをアンテナに追加 RSSフィード

「ひよこは高く空を舞い」について

2009-11-06

[]SQLiteにおける日付データの検索 SQLiteにおける日付データの検索 - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - SQLiteにおける日付データの検索 - 雲雀は高く空を舞い SQLiteにおける日付データの検索 - 雲雀は高く空を舞い のブックマークコメント

SQLiteの日付処理関数の出力は文字列になるのでLike句などを用いて日付の検索を行う.

like句を用いた検索

select カラム, ... from テーブル where カラム like パターン;

パターンは文字列と演算子%, _を使用できる

%
任意の0文字以上の文字列
_
任意の1文字

テーブルtest中のtimestamp型変数var1に時間データが保存されているとして

114日のデータを検索
select var1 from table where date(var) == '2009-11-04'
23時のデータを検索
select var1 from table where time(var) like '23:%'
2009年の毎月4日のデータ
select var1 from table where date(var) like '2009-__-04'

日曜日のデータ
select var1 from table where strftime('%w', var) == 0

[]SQLite3の日付処理関数 SQLite3の日付処理関数 - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - SQLite3の日付処理関数 - 雲雀は高く空を舞い SQLite3の日付処理関数 - 雲雀は高く空を舞い のブックマークコメント

日付処理関数

SQLiteの日付処理関数としてstrftime, datetime, date, time, Juliandayがある。

日付処理関数は後述の書式の文字列/数値を、日付を表す文字列(Time Strings)として取り扱う.

日付処理関数のうちstrftime(format, timestring, [modifier, ...])はtimestringをformatを書式とした文字列を返す。残りの4関数はstrftimeの特別な場合となる.

Time Strings

  • YYYY-MM-DD
  • YYYY-MM-DD HH:MM
  • YYYY-MM-DD HH:MM:SS
  • YYYY-MM-DD HH:MM:SS.SSS
  • YYYY-MM-DDTHH:MM
  • YYYY-MM-DDTHH:MM:SS
  • YYYY-MM-DDTHH:MM:SS.SSS
  • HH:MM
  • HH:MM:SS
  • HH:MM:SS.SSS
  • now
  • DDDDDDDDDD (Jurius Time Stamp or Unix Time Stamp)

ユリウス歴日は紀元前4713年1月1日正午(UTC)からの日数、Unixタイムスタンプは1970-01-01 00:00 UTCを起点とする秒

strftimeのformat

%Y
%m
%d
月はじめからの日付
%H
時間(24時制)
%M
%S
%f
SS.SSS
%J
ユリウス歴日
%s
1970-01-01 00:00 UTCを起点とする秒 (UNIXタイムスタンプ)
%j
年始からの日付
%W
年始から何週目か
%w
曜日 (日曜日を0とした日付)
%%
%そのもの

日付処理関数のmodifier

  • NNN days
  • NNN hours
  • NNN minutes
  • NNN.NNNN seconds
  • NNN months
  • NNN years
  • start of month
  • start of year
  • start of day
  • weekday N
  • unixepoch
  • localtime
  • utc

unixepochが指定された場合、与えられたDDDDDDDDDD形式のtimestringをUnixタイムスタンプとして扱う。指定されなかった場合はユリウス歴日として扱う。

localtimeが指定された場合、与えられたtimestringをUTCでの日時として解釈しローカルタイムゾーンの日時に変換して表示する。

utcが指定された場合、与えられたtimestringをローカルタイムゾーンでの日時として解釈しUTCの日時に変換して表示する。

ゲスト



トラックバック - http://chick.g.hatena.ne.jp/allegro/20091106
テクノラティプロフィール