在oracle中,求的人当前的年龄?表(DateTime 出生年龄)

解决方案 »

  1.   

    select to_char(sysdate,'YYYY')-to_char(dt_csrq,'YYYY') from tbname;
      

  2.   


    SELECT TRUNC((SYSDATE - DateTime)/365,0)
    FROM   YOURTABLE;
      

  3.   

    --實際年齡(幾歲幾天): select decode(
                  sign(dif_days),
                  1 ,to_char(sysdate,'yyyy')-to_char(datetime,'yyyy')  , --當前日期大於生日-1天
                  -1,to_char(sysdate,'yyyy')-to_char(datetime,'yyyy')-1, --當前日期小於生日-1天
                  0 ,to_char(sysdate,'yyyy')-to_char(datetime,'yyyy')    --當前日期等於生日-1天
                 ) year,      --幾歲
           abs(dif_days) days --幾天 
      from (
            select date_time,
                   trunc(sysdate)-to_date(to_char(sysdate,'yyyy')||to_char(datetime,'mmdd'),'yyyymmdd')+1 dif_days
              from your_table
           )--虛年齡(幾歲):  select to_char(sysdate,'yyyy')-to_char(datetime,'yyyy')+1 v_age 
      from your_table