2022年2月19日土曜日

SQLite3 年内日を求める(sfrftime('%j','yyyy-MM-dd'))

概要

strftime()を使用すれば、指定した日付が年内の何日目かを取得できる。

構文

strftime()は第一引数に日時から取得する要素の変数を、第二引数に実際の日時を指定することで 日時を自由な文字列フォーマットに変換して出力することができる。


strftime(format, datetime)
                    

日時として指定出来る文字列はdate()やdatetime()に指定する文字列と同じ。

年内日を取得するにはstrftime()の第一引数に「%j」を指定する。
大文字の「%J」ではなく、小文字の「%j」を指定すること。

実行例

環境
  • Windows 10 64bit
  • SQLite3 ver.3.37.0

sqlite> select strftime('%j', '2020-12-30');
365
sqlite> select strftime('%j', date('2020-12-30'));
365
sqlite> select strftime('%j', datetime('2020-12-30'));
365
sqlite> select strftime('%j', '2020-12-31');
366
sqlite> select strftime('%j', '2021-01-01');
001
sqlite> select strftime('%j', '2021-01-31');
031
sqlite> select strftime('%j', '2021-02-01');
032
                    

外部参考サイト