历史版本。 PostgreSQL 6.4 已结束支持。 请参阅 当前版本手册.
10.3. 日期/时间函数
日期/时间函数提供了一套强大的工具,用于操作各种日期/时间类型。
表 10.4. 日期/时间函数
| 函数 | 返回 | 描述 | 例子 |
|---|---|---|---|
| abstime(datetime) | abstime | 转换为 abstime | abstime('now'::datetime) |
| age(datetime,datetime) | timespan | 保留月和年的跨度 | age('now','1957-06-13'::datetime) |
| datetime(abstime) | datetime | 转换为 datetime | datetime('now'::abstime) |
| datetime(date) | datetime | 转换为 datetime | datetime('today'::date) |
| datetime(date,time) | datetime | 转换为 datetime | datetime('1998-02-24'::datetime, '23:07'::time); |
| date_part(text,datetime) | float8 | 日期字段的指定部分 | date_part('dow','now'::datetime) |
| date_part(text,timespan) | float8 | 时间字段的指定部分 | date_part('hour','4 hrs 3 mins'::timespan) |
| date_trunc(text,datetime) | datetime | 按指定单位截断日期 | date_trunc('month','now'::abstime) |
| isfinite(abstime) | bool | 是否为有限时间? | isfinite('now'::abstime) |
| isfinite(datetime) | bool | 是否为有限时间? | isfinite('now'::datetime) |
| isfinite(timespan) | bool | 是否为有限时间? | isfinite('4 hrs'::timespan) |
| reltime(timespan) | reltime | 转换为 reltime | reltime('4 hrs'::timespan) |
| timespan(reltime) | timespan | 转换为 timespan | timespan('4 hours'::reltime) |
对于
date_part 和 date_trunc
函数,参数可以是
`year'、`month'、`day'、`hour'、`minute' 和 `second',也可以是更专门的量
`decade'、`century'、`millenium'、`millisecond' 和 `microsecond'。date_part 还允许 `dow'
返回星期几,允许 `epoch' 返回自 1970 年以来的秒数(用于 datetime),或 `epoch' 返回总流逝秒数(用于 timespan)。