これらの関数と演算子は、日付および時刻データ型で操作します。

日付と時刻の演算子

演算子 結果
+ date '2012-08-08' + interval '2' day 2012-08-10
+ time '01:00' + interval '3' hour 04:00:00.000
+ timestamp '2012-08-08 01:00' + interval '29' hour 2012-08-09 06:00:00.000
+ timestamp '2012-10-31 01:00' + interval '1' month 2012-11-30 01:00:00.000
+ interval '2' day + interval '3' hour 2 03:00:00.000
+ interval '3' year + interval '5' month 3-5
- date '2012-08-08' - interval '2' day 2012-08-06
- time '01:00' - interval '3' hour 22:00:00.000
- timestamp '2012-08-08 01:00' - interval '29' hour 2012-08-06 20:00:00.000
- timestamp '2012-10-31 01:00' - interval '1' month 2012-09-30 01:00:00.000
- interval '2' day - interval '3' hour 1 21:00:00.000
- interval '3' year - interval '5' month 2-7

タイムゾーンの変換

AT TIME ZONE 演算子はタイムゾーンを設定します。

SELECT timestamp '2012-10-31 01:00 UTC';
-- 2012-10-31 01:00:00.000 UTC

SELECT timestamp '2012-10-31 01:00 UTC' AT TIME ZONE 'America/Los_Angeles';
-- 2012-10-30 18:00:00.000 America/Los_Angeles

日付と時刻の関数

current_date

current_date

クエリの開始時点の現在の日付を返します。

current_time

current_time

クエリの開始時点の現在の時刻(タイムゾーン付き)を返します。

current_timestamp

current_timestamp

クエリの開始時点の現在のタイムスタンプ(タイムゾーン付き)を、3桁のサブセカンド精度で返します。

current_timestamp()

current_timestamp(p)

クエリの開始時点の現在のタイムスタンプ(タイムゾーン付き)を、p桁のサブセカンド精度で返します。

SELECT current_timestamp(6);
-- 2020-06-24 08:25:31.759993 America/Los_Angeles