Oracle根据生日计算年龄,格式为xx岁xx月xx天

Oracle中可以使用TO_CHAR函数来格式化日期,也可以使用EXTRACT函数来提取日期中的年份、月份、日期信息。

下面是一个例子,假设现在的日期是2022年12月16日,想要计算出生日期为2000年1月1日的人的年龄:

SELECT TO_CHAR(EXTRACT(YEAR FROM SYSDATE) - EXTRACT(YEAR FROM TO_DATE('2000-01-01', 'YYYY-MM-DD'))
         || '岁'
         || EXTRACT(MONTH FROM SYSDATE) - EXTRACT(MONTH FROM TO_DATE('2000-01-01', 'YYYY-MM-DD'))
         || '月'
         || EXTRACT(DAY FROM SYSDATE) - EXTRACT(DAY FROM TO_DATE('2000-01-01', 'YYYY-MM-DD'))
         || '天'
         ) AS age
FROM dual;

执行上面的语句后,会得到输出结果:22岁11月15天

注意:上面的例子是基于当前日期计算年龄的,如果想要计算某一个指定日期之后的年龄,则需要把系统日期替换成指定的日期。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值