日期/时间函数
函数 | 返回类型 | 描述 | 例子 | 结果 |
---|---|---|---|---|
age(timestamp, timestamp) | interval | 减去参数,生成一个使用年、月(而不是只用日)的“符号化”的结果 | age(timestamp ‘2001-04-10’, timestamp ‘1957-06-13’) | 43 年 9 月 27 日 |
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, timestamp with time zone, text) | timestamp with time zone | 在指定的时区截断到指定的精度 | date_trunc(‘day’, timestamptz ‘2001-02-16 20:38:40+00’, ‘Australia/Sydney’) | 2001-02-16 13:00: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 |