PostgreSQLで日付の操作(1か月前とか)
はい、oracleに慣れ過ぎていて、postgreSQLの構文が覚えられません。
ということでメモ。
1か月後とか2か月後といった入力は、intervalを使うと見やすくなります。
select to_date('20180101', 'YYYYMMDD') - interval '1 month'
これで2018/01/01の1か月前。
マイナスをプラスにすれば1か月後。
monthの部分は
day
week
month
year
ただ、これ続きがあって、date型ではなくtimestamp型だとちょっと挙動が変わる。
select cast('2018-01-01' as timestamp) + '-1 months'
時間が無いのとあまり使わないのでちゃんと調べないのですが、
そのうち何がどうなのか調べようかと思います。
参考:
http://neos21.hatenablog.com/entry/2017/05/04/080000
http://sak.cool.coocan.jp/w_sak3/doc/sysbrd/psql_k16.htm
https://www.postgresql.jp/document/9.4/html/datatype-datetime.html
コメント