有一张个人信息表,只有生日字段,单最后要求查出来的信息要按年龄段分组,
比如有AC01个人基本信息表
aac001 个人编号  aab001 单位编号  aac003 姓名  aac006 出生日期...
输入单位编号返回如下分组信息
个人编号   单位编号  年龄段  姓名...

解决方案 »

  1.   

    截取aac006 出生日期,比如197701020304,截取为1977然后group substr(aac006,1,4),得到出生年,换算成年龄段也容易或者,group ( 2009- to_numbe(substr(aac006,1,4)))
      

  2.   

     你的输出结果看起来没有分组啊? 要分组还能输出个人编号、姓名吗?select aac001, aab001, case when 2009-to_number(substr(aac006,1,4))>=0 and 2009-to_number(substr(aac006,1,4))<=20 then '0-20' 
    when 2009-to_number(substr(aac006,1,4))>20 and 2009-to_number(substr(aac006,1,4))<=30 then '21-30' 
    when  2009-to_number(substr(aac006,1,4))>=31 and 2009-to_number(substr(aac006,1,4))<=40 then '31-40' 
    else '100-' end case , aac003 from AC01;在多家几个when就行了,把可能的年龄段都写全了