Oracle PLSQL 计算年龄

Oracle PLSQL 计算年龄,第1张

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

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

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

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

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

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

如emp表中有如下数据:

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

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

查询结果:

年龄段统计可用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

统计结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/10829327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存