【PostgreSQL】日付の切り捨て(date_trunc)の使い方
構文
日付や時刻を指定のところ(精度といいます)で切り捨てるには、date_trunc関数を使います。
-- date_trunc(日付の切り捨て)の構文
date_trunc( 精度 , 日付・時刻 );
精度には'year'、'month'、'day'等を指定します。次のように実例を示すとわかりやすいです。
select cast('2021/2/14 01:23:45.678912' as timestamp);
-- "2021-02-14 01:23:45.678912"を使って、date_truncを実行してみます
-- 1.年で切り捨て(精度に'year'を指定)
select date_trunc('year', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-01-01 00:00:00"
-- 2.月で切り捨て(精度に'month'を指定)
select date_trunc('month', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-01 00:00:00"
-- 3.日で切り捨て(精度に'day'を指定)
select date_trunc('day', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-14 00:00:00"
-- 4.時で切り捨て(精度に'hour'を指定)
select date_trunc('hour', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-14 01:00:00"
-- 5.分で切り捨て(精度に'minute'を指定)
select date_trunc('minute', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-14 01:23:00"
-- 6.秒で切り捨て(精度に'second'を指定)
select date_trunc('second', cast('2021/2/14 01:23:45.678912' as timestamp));
-- "2021-02-14 01:23:45"