oracle中年如何计算 oracle周岁计算

Oracle PL/SQL 计算年龄

根据出生日期查询年龄用的还挺多的。

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于成都定制网页设计,高端网页制作,对成都三维植被网等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业网站推广优化,H5建站,响应式网站。

简单分析一下,加入一个孩子五岁半了,那习惯认为他还是5岁。

用Oracle提供的months_between()函数,先获取出生日期和当前日期的月数,然后除以12向下取整:

使用的时候,将时间段替换成出生日期对应的字段即可。

如果,计算年龄用的次数非常多,最好写成自定义函数。

oracle 关于年龄计算问题?

用month_between做,应该会好一些。

select

当前日期,

出生日期,

trunc(months_between(当前日期,出生日期)/12) 年数,

trunc(months_between(当前日期,出生日期))%12 月数,

ceil(当前日期-add_month(出生日期,trunc(months_between(当前日期,出生日期))) 天数 from table

可能一些细微的地方还需要些调整,不过大体上应该差不多了。

最后那个ceil可能要分成两个case when的部分是

case when substr(to_char(当前日期,'yyyy-mm-dd'),-5) != substr(to_char(出生日期,'yyyy-mm-dd'),-5) then trunc(当前日期-add_month(出生日期,trunc(months_between(当前日期,出生日期)))

when substr(to_char(当前日期,'yyyy-mm-dd'),-5) = substr(to_char(出生日期,'yyyy-mm-dd'),-5) then 1 end 天数

我看了下你上面的两个例子,好像因为日期相等比较特殊,所以我尝试用ceil试试,如果不行那么就用下面这个,我估计差不多了,不过我可没有环境,只能是凭空想象,剩下的只能你自己去实验和修改了。

oracle 年龄段统计

年龄段统计可用case when 语句。

如test表中有以下数据:

其中18-29岁为青年,30-49岁为中年,50岁以上为老年,先统计各个年龄段人数,可用如下语句:

select case when age between 18 and 29 then '青年' when age between 30 and 59 then '中年' when age=60 then '老年' end as 年龄段,

count(*) as 人数 

from test

group by case when age between 18 and 29 then '青年' when age between 30 and 59 then '中年' when age=60 then '老年' end;

统计结果:


网站栏目:oracle中年如何计算 oracle周岁计算
网页URL:http://bzwzjz.com/article/hpjpgc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 公司网站建设 成都网站建设公司 重庆企业网站建设 成都网站制作 定制网站制作 手机网站制作 网站制作公司 成都网站设计 成都网站设计 成都网站设计制作公司 高端网站建设 企业网站设计 成都网站建设 盐亭网站设计 成都网站建设公司 成都网站设计 高端网站设计 成都定制网站建设 达州网站设计 梓潼网站设计 成都网站制作 定制网站设计