日付関数
SQLiteコマンド一覧にあるようにSQLiteで扱える日付関数は以下の5つがあります。| date(...) | 変更フォーマット結果の年月日を返す。 |
| time(...) | 変更フォーマット結果の時間を返す。 |
| datetime(...) | 変更フォーマット結果の時間と年月日を返す。 |
| julianday(...) | 変更フォーマット結果のユリウス通日を返す。 |
| strftime(...) | 年月日等をフォーマットに基づき返す。 |
フォーマット
日付関数で扱えるフォーマットは以下のタイプです。| YYYY-MM-DD HH:MM:SS.SSS | 年月日を-で時間を:で区切り、日付と時間の間をスペースで区切る。 |
| YYYY-MM-DDTHH:MM:SS.SSS | 年月日を-で時間を:で区切り、日付と時間の間をTで区切る。 |
| DDDD.DDDD | ユリウス通日 |
| now | 現在の日時 |
主な変更フォーマット。
| NNN days | 日付を増減させた結果を返します。 |
| NNN hours | 時間を増減させた結果を返します。 |
| NNN minutes | 分を増減させた結果を返します。 |
| NNN.NNNN seconds | 秒を増減させた結果を返します。 |
| NNN months | 月を増減させた結果を返します。 |
| NNN years | 年を増減させた結果を返します。 |
| weekday N | 指定曜日を日付で返します。 曜日は0~6まで日曜日~土曜日 |
使用例
1)指定した年月日に日付を足す。SELECT date('2005-08-17', '7 days'); 結果:2005-08-24
2)指定した時間に分を足す。
SELECT time('12:43:13', '30 minutes'); 結果:13:13:13
3)その週の指定曜日を日付で返す。
SELECT datetime('2005-12-11 08:18:45', 'weekday 3'); 結果:2005-12-14 08:18:45
4)ローカルタイムのユリウス通日を返す。
SELECT julianday('1979-07-24 03:24:11', 'localtime'); 結果:2444079.01679398
5)現在の日時をフォーマットに基づき返す。
SELECT strftime('%Y年%m月%d日 %H時%M分%S秒', 'now'); 結果:2006年09月06日 16時05分10秒
