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

如何在PostgreSQL中从完整年龄格式计算出生日期?

在PostgreSQL中从年龄字符串计算出生日期

核心思路

把57 years 5 months 7 days这类字符串格式的年龄转换为PostgreSQL支持的interval类型,再用当前日期减去该时间间隔得到出生日期,最后格式化目标格式。

操作步骤与示例

  1. 单值测试写法
    直接针对单个年龄字符串计算,执行以下SQL:
SELECT TO_CHAR(CURRENT_DATE - '57 years 5 months 7 days'::interval, 'yyyy-mm-dd') AS birth_date;
  1. 批量处理表中数据
    如果年龄数据存储在表(比如user_info)的age_desc字段中,查询语句如下:
SELECT 
  TO_CHAR(CURRENT_DATE - age_desc::interval, 'yyyy-mm-dd') AS birth_date
FROM user_info;

注意事项

  • 确保年龄字符串格式严格匹配X years Y months Z days结构,多余空格或拼写错误会导致转换失败;
  • 若年龄仅包含部分维度(比如只写25 years 3 months),该方法依然适用,PostgreSQL会自动识别缺失的时间维度。

内容的提问来源于stack exchange,提问作者Ebillson GRAND JEAN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:25:25