我想把性别为1的同学的生日取出来 计算 截止到20110201 年龄满23岁的同学人数
各位大虾有什么好办法, 我这样写取不到数据(先说说其他的方法,再帮我看看我的问题,谢谢!)20110201-to_number(to_char(decode(性别,'1',出生日期),''))=00000023

解决方案 »

  1.   

    出生日期是date类型的吧?
    20110201-to_number(to_char(decode(性别,'1',出生日期),'yyyymmdd'))=00230000eg:
    select case when 20340413-to_number(to_char(sysdate,'yyyymmdd'))=230000 then 1 else 0 end from dual;
      

  2.   

    select count(*)
    from tb
    where 性别=1 
      and 出生日期>=add_months(to_date('20110201','yyyymmdd'),-23*12)