PostgreSQLでの日付の扱いをいつも忘れるのでメモ
下記の結果は、2013/06/14 15時くらいの実行結果です
現在をとるのは
select
current_timestamp
, now() -- current_timestampと同じ
;
結果
“2013-06-14 15:44:12.078+09”
日付の加算は
select
now() + '1 days'
;
結果
“2013-06-15 15:44:12.078+09”
日付を丸めるには
select
date_trunc('hour', now())
, date_trunc('day', now())
, date_trunc('month', now())
;
結果
“2013-06-14 15:00:00+09”
“2013-06-14 00:00:00+09”
“2013-06-01 00:00:00+09”
上記を利用すれば
今月1日からのログを表示、なんてできます
select *
from log_table
where settime > date_trunc('month', now());
;