age(timestamp, timestamp)
| interval | 引数を減算した後の「記号化」された結果。日だけでなく、年と月を使用します | age(timestamp '2001-04-10', timestamp '1957-06-13') | 43 years 9 mons 27 days |
age(timestamp) | interval | からcurrent_date引数を減算した結果(真夜中時点) | age(timestamp '1957-06-13') | 43 years 8 mons 3 days |
clock_timestamp()
| timestamp with time zone | 実時計の現在のタイムスタンプ(ステートメント実行時に変化) | | |
current_date
| date | 現在の日付; | | |
current_time
| time with time zone | 当日の時刻; | | |
current_timestamp
| timestamp with time zone | 現在のトランザクション開始時のタイムスタンプ; | | |
date_part(text, timestamp)
| double precision | サブフィールドを取得(以下と同等:extract);
| date_part('hour', timestamp '2001-02-16 20:38:40') | 20 |
date_part(text, interval) | double precision | サブフィールドを取得(以下と同等:extract);
| date_part('month', interval '2 years 3 months') | 3 |
date_trunc(text, timestamp)
| timestamp | 指定された精度に切り捨て; | date_trunc('hour', timestamp '2001-02-16 20:38:40') | 2001-02-16 20:00:00 |
date_trunc(text, interval) | interval | 指定された精度に切り詰め、 | date_trunc('hour', interval '2 days 3 hours 40 minutes') | 2 days 03:00:00 |
extract(field from
timestamp)
| double precision | サブフィールドを取得; | extract(hour from timestamp '2001-02-16 20:38:40') | 20 |
extract(field from
interval) | double precision | サブフィールドを取得; | extract(month from interval '2 years 3 months') | 3 |
isfinite(date)
| boolean | 有限の日付かどうかをテスト(+/-無限大ではない) | isfinite(date '2001-02-16') | true |
isfinite(timestamp) | boolean | 有限のタイムスタンプかどうかをテスト(+/-無限大ではない) | isfinite(timestamp '2001-02-16 21:28:30') | true |
isfinite(interval) | boolean | 有限の時間間隔かどうかをテスト | isfinite(interval '4 hours') | true |
justify_days(interval)
| interval | 30日間の期間を月として表すように時間間隔を調整 | justify_days(interval '35 days') | 1 mon 5 days |
justify_hours(interval)
| interval | 24時間の期間を日として表すように時間間隔を調整 | justify_hours(interval '27 hours') | 1 day 03:00:00 |
justify_interval(interval)
| interval | 使用してjustify_daysとjustify_hours時間間隔を調整すると同時に正負の符号も調整 | justify_interval(interval '1 mon -1 hour') | 29 days 23:00:00 |
localtime
| time | 当日の時刻; | | |
localtimestamp
| timestamp | 現在のトランザクション開始時のタイムスタンプ; | | |
make_date(year int,
month int,
day int)
| date | 年、月、日のフィールドから日付を作成 | make_date(2013, 7, 15) | 2013-07-15 |
make_interval(years int DEFAULT 0,
months int DEFAULT 0,
weeks int DEFAULT 0,
days int DEFAULT 0,
hours int DEFAULT 0,
mins int DEFAULT 0,
secs double precision DEFAULT 0.0)
| interval | 年、月、週、日、時、分、秒のフィールドから間隔を作成 | make_interval(days := 10) | 10 days |
make_time(hour int,
min int,
sec double precision)
| time | 時、分、秒のフィールドから時刻を作成 | make_time(8, 15, 23.5) | 08:15:23.5 |
make_timestamp(year int,
month int,
day int,
hour int,
min int,
sec double precision)
| timestamp | 年、月、日、時、分、秒のフィールドからタイムスタンプを作成 | make_timestamp(2013, 7, 15, 8, 15, 23.5) | 2013-07-15 08:15:23.5 |
make_timestamptz(year int,
month int,
day int,
hour int,
min int,
sec double precision,
[ timezone text ])
| timestamp with time zone | 年、月、日、時、分、秒のフィールドからタイムゾーン付きのタイムスタンプを作成。
指定がない場合timezoneは、現在のタイムゾーンを使用します。 | make_timestamptz(2013, 7, 15, 8, 15, 23.5) | 2013-07-15 08:15:23.5+01 |
now()
| timestamp with time zone | 現在のトランザクション開始時のタイムスタンプ; | | |
statement_timestamp()
| timestamp with time zone | 実時計の現在のタイムスタンプ; | | |
timeofday()
| text | とclock_timestamp同じですが、結果はtext文字列です; | | |
transaction_timestamp()
| timestamp with time zone | 現在のトランザクション開始時のタイムスタンプ; | | |