百科 / 函数百科 / 日期/时间函数和操作符
FUNCTION日期/时间函数和操作符
timestamp
date 转换为 timestamp
date to timestamp
日期/时间函数和操作符 引入 7.1(基线) 于 7.3 移除 2 条签名 0 次签名变更
- 分组
- 日期/时间函数和操作符
- 签名数
- 2 条
- 引入版本
- 7.1(基线)
- 状态
- 于 7.3 移除
- 签名变更
- 未变过
- 本版来源
- 同版手册译文
版本轨迹
相对 PostgreSQL 7.1:说明有更新。
说明
date 转换为 timestamptimestamp ( date ) → timestamp
date 转换为 timestamptimestamp ( date, time ) → timestamp
date 和 time 转换为 timestamp签名
PostgreSQL 7.2 里 timestamp 的 2 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。
-
timestamp( date ) →timestampdate转换为timestamptimestamp(date '2000-12-25')2000-12-25 00:00:00
-
timestamp( date, time ) →timestampdate和time转换为timestamptimestamp(date '1998-02-24',time '23:07')1998-02-24 23:07:00
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。
-
PostgreSQL 7.3 ← 7.2 移除此函数
该版起不再存在
-
PostgreSQL 7.2 ← 7.1 说明更新
说明更新
签名矩阵
每条签名在给出了签名的 2 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。
存在 不存在
同组函数
| 函数 | 签名 | 主签名 | 版本变动 | 最近变更 |
|---|---|---|---|---|
age基线 |
3 | age ( timestamp, timestamp ) → interval |
— | |
| 将两个参数相减,生成一个使用年和月而不是只用日的“符号化”结果 | 现存 | |||
clock_timestamp |
2 | clock_timestamp ( ) → timestamp with time zone |
— | |
| 当前日期和时间(在语句执行期间变化);参见第 9.9.5 节 | 现存 | |||
current_date |
1 | current_date → date |
— | |
| 当前日期;参见第 9.9.5 节 | 现存 | |||
current_time |
3 | current_time → time with time zone |
8.23 次 | |
| 一天中的当前时刻;参见第 9.9.5 节 | 现存 | |||
current_timestamp基线 |
3 | current_timestamp → timestamp with time zone |
8.23 次 | |
| 当前日期和时间(当前事务开始时);参见第 9.9.5 节 | 现存 | |||
date_add |
1 | date_add ( timestamp with time zone, interval [, text ] ) → timestamp with time zone |
— | |
| 将一个 interval 加到 timestamp with time zone 上,并根据第三个参数命名的时区,或在省略该参数时根据当前 TimeZone 设置,计算时刻和夏令时调整。双参数形式等价于 timestamp with time zone + interval 操作符。 | 现存 | |||
date_bin |
2 | date_bin ( interval, timestamp, timestamp ) → timestamp |
— | |
| 将输入按指定的间隔进行分箱(bin),对齐到指定的原点;参见第 9.9.3 节 | 现存 | |||
date_part基线 |
3 | date_part ( text, timestamp ) → double precision |
— | |
| 获取时间戳子字段(等同于 extract);参见第 9.9.1 节 | 现存 | |||
date_subtract |
1 | date_subtract ( timestamp with time zone, interval [, text ] ) → timestamp with time zone |
— | |
| 从一个 timestamp with time zone 中减去 interval,并根据第三个参数命名的时区,或在省略该参数时根据当前 TimeZone 设置,计算时刻和夏令时调整。双参数形式等价于 timestamp with time zone - interval 操作符。 | 现存 | |||
date_trunc基线 |
4 | date_trunc ( text, timestamp ) → timestamp |
183 次 | |
| 截断到指定的精度;参见第 9.9.2 节 | 现存 | |||
extract基线 |
3 | extract ( field FROM timestamp ) → numeric |
193 次 | |
| 获取时间戳子字段;参见第 9.9.1 节 | 现存 | |||
isfinite基线 |
3 | isfinite ( date ) → boolean |
8.41 次 | |
| 测试日期是否有限(不是正负无穷) | 现存 | |||
justify_days |
1 | justify_days ( interval ) → interval |
— | |
| 调整间隔,将 30 天的时间段转换为月份 | 现存 | |||
justify_hours |
1 | justify_hours ( interval ) → interval |
— | |
| 调整间隔,将 24 小时时间段转换为天数 | 现存 | |||
justify_interval |
1 | justify_interval ( interval ) → interval |
— | |
| 使用 justify_days 和 justify_hours 调整时间间隔,并额外调整符号 | 现存 | |||
localtime |
3 | localtime → time |
8.22 次 | |
| 一天中的当前时刻;参见第 9.9.5 节 | 现存 | |||
localtimestamp |
3 | localtimestamp → timestamp |
8.22 次 | |
| 当前日期和时间(当前事务开始时);参见第 9.9.5 节 | 现存 | |||
make_date |
1 | make_date ( year int, month int, day int ) → date |
— | |
| 从年、月和日字段创建日期(负数年份表示 BC) | 现存 | |||
make_interval |
1 | make_interval ( [ years int [, months int [, weeks int [, days int [, hours int [, mins int [, secs double precision ]]]]]]] ) → interval |
— | |
| 从年、月、周、日、小时、分钟和秒字段创建时间间隔,每个字段默认为 0 | 现存 | |||
make_time |
1 | make_time ( hour int, min int, sec double precision ) → time |
— | |
| 从小时、分钟和秒字段创建时间 | 现存 | |||
make_timestamp |
1 | make_timestamp ( year int, month int, day int, hour int, min int, sec double precision ) → timestamp |
— | |
| 从年、月、日、小时、分钟和秒字段创建时间戳(负数年份表示 BC) | 现存 | |||
make_timestamptz |
1 | make_timestamptz ( year int, month int, day int, hour int, min int, sec double precision [, timezone text ] ) → timestamp with time zone |
— | |
| 从年、月、日、小时、分钟和秒字段并结合时区创建时间戳(负数年份表示 BC)。如果没有指定 timezone,则使用当前时区;示例假设会话时区为 Europe/London | 现存 | |||
now基线 |
2 | now ( ) → timestamp with time zone |
8.22 次 | |
| 当前日期和时间(当前事务开始时);参见第 9.9.5 节 | 现存 | |||
pg_sleep |
1 | pg_sleep ( double precision ) |
— | |
| pg_sleep 使当前会话的进程休眠,直到经过指定的秒数。可以指定带小数部分的秒数作为延迟时间。pg_sleep_for 是一个便捷函数,允许以 interval 指定休眠时间。pg_sleep_until 是在需要指定唤醒时间时使用的便捷函数。例如: | 现存 | |||
pg_sleep_for |
1 | pg_sleep_for ( interval ) |
— | |
| pg_sleep 使当前会话的进程休眠,直到经过指定的秒数。可以指定带小数部分的秒数作为延迟时间。pg_sleep_for 是一个便捷函数,允许以 interval 指定休眠时间。pg_sleep_until 是在需要指定唤醒时间时使用的便捷函数。例如: | 现存 | |||
pg_sleep_until |
1 | pg_sleep_until ( timestamp with time zone ) |
— | |
| pg_sleep 使当前会话的进程休眠,直到经过指定的秒数。可以指定带小数部分的秒数作为延迟时间。pg_sleep_for 是一个便捷函数,允许以 interval 指定休眠时间。pg_sleep_until 是在需要指定唤醒时间时使用的便捷函数。例如: | 现存 | |||
statement_timestamp |
2 | statement_timestamp ( ) → timestamp with time zone |
— | |
| 当前日期和时间(当前语句开始时);参见第 9.9.5 节 | 现存 | |||
timeofday基线 |
2 | timeofday ( ) → text |
8.21 次 | |
| 当前的日期和时间(类似 clock_timestamp,但是采用 text 字符串);参见第 9.9.5 节 | 现存 | |||
timestamp基线 |
2 | timestamp ( date ) → timestamp |
— | |
| date 转换为 timestamp | 于 7.3 移除 | |||
transaction_timestamp |
2 | transaction_timestamp ( ) → timestamp with time zone |
— | |
| 当前日期和时间(当前事务开始时);参见第 9.9.5 节 | 现存 | |||