例えば、アクセスログのテーブルで以下のようなアクセス日時を表すデータがあるとする。
こういった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
;