例えば、アクセスログのテーブルで以下のようなアクセス日時を表すデータがあるとする。

こういったtimestamp型のデータは、interval型という特殊な値を使うことで、何時間後、何日前といった任意の時間差を表現することができる。

例として、上記のデータの9時間後を表すデータを求め追加してみた。

SELECT
	request_time
	, request_time + interval '09:00'
FROM
	access_log
;

時刻と時刻の差を表すinterval型

先述の例では「9時間後」を求めてみたが、interval型の表現として他に以下の方法がある。

interval ‘1 year’1年
interval ’12 month’12ヶ月
interval ’53 week’53週間
interval ‘7 day’7日
interval ’24:00′24時間
interval ’00:30′30分
interval ’00:00:15′15秒

また、応用として複数の単位をまとめて指定することもできる。

SELECT
	request_time
	, request_time + interval '1 month 3day 07:10'
FROM
	access_log
;