2022年2月26日土曜日

SQLite3 月の初日を取得する (start of month)

概要

指定した日時からその月の初日(1日)を取得する方法。
文字列を切り貼りするよりはスマートに記述することが出来る。

構文

「date()」もしくは「datetime()」の引数に「start of month」を追加すると その月の初日を取得することができる。
「start of month」は大文字と小文字どちらでもいい。

「datetime()」の引数に「start of month」を指定した場合、 結果の時間部分は「00:00:00」になることに注意すること。


date(time-value, 'start of month')
datetime(time-value, 'start of month')
                    

日時として指定出来る文字列(time-value)については以下を参照のこと。

実行例

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

sqlite> select date('2022-02-26', 'start of month');
2022-02-01

sqlite> select datetime('2022-02-26 09:00:00', 'start of month');
2022-02-01 00:00:00

sqlite> select date('now', 'start of month');
2022-02-01

sqlite> select datetime('NOW', 'START OF MONTH');
2022-02-01 00:00:00

sqlite> select date(datetime('2022-02-26 09:00:00'), 'start of month');
2022-02-01

sqlite> select datetime(date('2022-02-26'), 'start of month');
2022-02-01 00:00:00
                    

外部参考サイト