网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

oracle怎么提取年龄,oracle 年龄

oracle.根据生日字段计算查询出人员表每个人的年龄?

这个办法很多,如果是比较精确的可以用month_between函数,然后除以12,最后在trunc这样就能得到具体的年龄了。

成都创新互联从2013年开始,先为滨海新区等服务建站,滨海新区等地企业,进行企业商务咨询服务。为滨海新区企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

比如trunc(month_between(sysdate,时间类型的生日字段)/12)

个人感觉这个精确一些,能精确到天,只要还没过生日,那么就不会加一岁。

当然二者直接相减trunc((sysdate-时间类型的生日字段)/365)也可以。

sysdate-时间类型的生日字段,这么相减默认出现的是相差的天数,所以除以365。这个也可以,不过有些年是366天,不过因为366天的年分比较少,所以基本上不会相差很多。只是会出现,“提前”的情况。不过80年最多才21天(大概是这样,我没细算,就算四年一次),所以对实际影响不是特别大。如果要求准确那么还是上面的靠谱一些。

用函数取出字段年,然后用现在的年相减也可以。这个就是一个大概(个人认为更加不靠谱),比如一个人2050年12月30日出生,现在是2055年后的1月1号,那么按照年来说就是5,但是其实才4岁多一点,所以年这个只是一个大概的,不会十分准确。

oracle根据出生日期算年龄

select floor(months_between(to_date(concat(extract(year from sysdate),'-10-31'),'YYYY-MM-DD'),to_date(生日的日期,'yyyy-mm-dd'))/12) from table_name

floor 向下取整

months_between 日期相差的月份数

concat字字符串连接

extract(year from sysdate) 返回当前日期的年份

Oracle 根据出生日期计算年龄

可用to_char函数将date类型转成字符类型。

如emp表中有如下数据:

如果计算生日的方法是当前日期的年份减去生日的年份,可用如下语句:

select ename,hiredate,to_char(sysdate,'yyyy')-to_char(hiredate,'yyyy') from emp;

查询结果:


网站标题:oracle怎么提取年龄,oracle 年龄
当前路径:http://bjjierui.cn/article/dscghhd.html

其他资讯