oracle 年龄分档,不用case when 的方法

一般我们出分档数据都是case when ,但是如果是对年龄等一些字段进行细分,比如五岁一档,我们如果用case when就会特别麻烦,写的特别多,这里我介绍一种简单的方法,对细分的字段进行处理:

建表:

create table dim_ia_age (age varchar2(50))

源数据为:

取分档年龄sql:
select age,case when age<20 then '20以下'
when age<60 then floor(age/5)*5 ||'-'|| (floor(age/5)+1)*5
else '60及以上' end new_1
from  dim_ia_age;
sql运行结果:
 
这样就可以结合group by 等计算了;
总结:只要用得到,就能想得到。
 
 
 
 
 
 
 
 
 
 
 
 
 

posted @ 2018-10-31 17:10  夏日的向日葵  阅读(830)  评论(0编辑  收藏  举报