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
|
当前事务开始时的时间戳;
|
|
|