PostgreSQLでの日付処理

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());
;
カテゴリーsql

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください