月初と月末の Timestamp

PostgreSQL で今日を基準に月初、月末の Timestamp を求める SQL。

-- 先月1日
select date_trunc('month', current_timestamp - interval '1 month');

-- 先月末日
select date_trunc('month', current_timestamp) - interval '1 day';

-- 今月1日
select date_trunc('month', current_timestamp);

-- 今月末日
select date_trunc('month', current_timestamp + interval '1 month') - interval '1 day';

ちなみに「interval」は省略可。

Last updated on July 8, 2015