范围年龄的查询很常用
select case when (to_char(sysdate, 'yyyy' )-to_char(t.csrq,'yyyy')) BETWEEN 18 AND 30 then '18-30岁'
when (to_char(sysdate, 'yyyy' )-to_char(t.csrq,'yyyy')) BETWEEN 31 AND 41 then '31-41岁'when (to_char(sysdate, 'yyyy' )-to_char(t.csrq,'yyyy')) > 41 then '41岁以上' end as 年龄段,count(*)人数
from lds_employment_info t
group by case when (to_char(sysdate, 'yyyy' )-to_char(t.csrq,'yyyy')) BETWEEN 18 AND 30 then '18-30'when (to_char(sysdate, 'yyyy' )-to_char(t.csrq,'yyyy')) BETWEEN 31 AND 41 then '31-41'
when (to_char(sysdate, 'yyyy' )-to_char(t.csrq,'yyyy')) > 41 then '41以上' end
order by 年龄段
//when右边的括号意思是(当前系统的年份-一个Date字段的年份)
//PLSQL 结果如下: