You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL 14中AGE函数返回天数而非年日月格式的原因咨询

问题解答

你看到AGE()函数返回天数格式的核心原因是PostgreSQL的intervalstyle配置参数控制了interval类型值的显示格式,而非函数本身的返回结果不符合文档描述。

具体细节:

  • AGE()函数确实返回的是interval类型值,官方文档中提到的年、月、日符号化结果是该类型的一种显示形式,但PostgreSQL允许通过intervalstyle参数切换显示风格。
  • 如果你的当前intervalstyle设置为iso_8601,就会将较长的时间间隔转换为天数来展示(比如你得到的28531 days, 0:00:00);而设置为postgres或sql_standard时,会显示为年、月、日组合的格式(例如78 years 2 mons 1 day)。

验证与修改方法:

  1. 查看当前intervalstyle设置:
SHOW intervalstyle;
  1. 临时修改显示风格(会话级别):
SET intervalstyle = 'postgres';

执行这条语句后再重新运行你的AGE查询,就能得到文档中描述的年、月、日格式结果。

内容的提问来源于stack exchange,提问作者Ewald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 04:50:44