↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 函数百科 / 时间/日期函数和操作符

FUNCTION时间/日期函数和操作符

current_timestamp

当前日期和时间(当前事务开始时);参见第 9.9.5 节

Current date and time (start of current transaction); see Section 9.9.5

时间/日期函数和操作符 引入 7.1(基线) 现存至 20 devel 3 条签名 3 次签名变更

签名数
3 条
引入版本
7.1(基线)
状态
现存
签名变更
3 次
本版来源
英文原文

PostgreSQL 18.7 手册 · 9.9 日期/时间函数和操作符 官方文档

版本轨迹

相对 PostgreSQL 17 无变化。

说明

当前日期和时间(当前事务开始时);参见第 9.9.5 节
current_timestamp → timestamp with time zone
当前日期和时间(当前事务开始时);参见第 9.9.5 节
current_timestamp ( integer ) → timestamp with time zone
当前日期和时间(当前事务开始时),精度受限;参见第 9.9.5 节

签名

PostgreSQL 18.7 里 current_timestamp 的 3 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。

  1. current_timestamp → timestamp with time zone

    当前日期和时间(当前事务开始时);参见第 9.9.5 节
    • current_timestamp2019-12-23 14:39:53.662522-05
  2. current_timestamp ( integer ) → timestamp with time zone

    当前日期和时间(当前事务开始时),精度受限;参见第 9.9.5 节
    • current_timestamp(0)2019-12-23 14:39:53-05
  3. CURRENT_TIMESTAMP(precision) LOCALTIME LOCALTIMESTAMP

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。

  1. PostgreSQL 14 ← 13 说明更新

    说明更新

  2. PostgreSQL 13 ← 12 手册重排

    这一跳手册重排了函数表的写法,签名文本整体改写,只记函数的增删,不逐条比较签名。

  3. PostgreSQL 8.2 ← 8.1 签名变更

    CURRENT_TIMESTAMP(precision) LOCALTIME LOCALTIMESTAMP CURRENT_TIMESTAMP (precision) LOCALTIME LOCALTIMESTAMP 说明更新

  4. PostgreSQL 8.1 ← 8.0 签名变更

    CURRENT_TIMESTAMP (precision) LOCALTIME LOCALTIMESTAMP CURRENT_TIMESTAMP ( precision ) LOCALTIME LOCALTIMESTAMP

  5. PostgreSQL 8.0 ← 7.4 说明更新

    说明更新

  6. PostgreSQL 7.4 ← 7.3 说明更新

    说明更新

  7. PostgreSQL 7.3 ← 7.2 签名变更

    current_timestamp → timestamp with time zoneCURRENT_TIMESTAMP ( precision ) LOCALTIME LOCALTIMESTAMP current_timestamp → timestampCURRENT_TIMESTAMP ( precision ) 说明更新

签名矩阵

每条签名在给出了签名的 26 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。

存在 不存在

签名 7.27.37.48.08.18.28.38.49.09.19.29.39.49.59.61011121314151617181920
current_timestamp → timestamp 存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在
CURRENT_TIMESTAMP ( precision ) 存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在
current_timestamp → timestamp with time zone 不存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
CURRENT_TIMESTAMP ( precision ) LOCALTIME LOCALTIMESTAMP 不存在 存在 存在 存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在
CURRENT_TIMESTAMP (precision) LOCALTIME LOCALTIMESTAMP 不存在 不存在 不存在 不存在 存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在
CURRENT_TIMESTAMP(precision) LOCALTIME LOCALTIMESTAMP 不存在 不存在 不存在 不存在 不存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在 存在
current_timestamp ( integer ) → timestamp with time zone 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 不存在 存在 存在 存在 存在 存在 存在 存在 存在

同组函数

函数 签名 主签名 版本变动 最近变更
DATE/TIME FUNCTIONS AND OPERATORS 日期/时间函数和操作符 30 个 ↗
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 节 现存