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

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

建表:

create table dim_ia_age (age varchar2(50))

源数据为:

oracle 年龄分档,不用case when 的方法_第1张图片

取分档年龄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运行结果:
oracle 年龄分档,不用case when 的方法_第2张图片
 
这样就可以结合group by 等计算了;
总结:只要用得到,就能想得到。
 
 
 
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/xiao02fang/p/9884357.html

你可能感兴趣的:(oracle 年龄分档,不用case when 的方法)