Author Topic: Age Calculator Function  (Read 4135 times)

Offline Fayez

  • Newbie
  • *
  • Posts: 7
    • View Profile
Age Calculator Function
« on: October 20, 2010, 12:25:59 PM »
Dear All,

Here is a function for calculating your age.



CREATE OR REPLACE FUNCTION age_calculator(dob IN DATE)
        RETURN  VARCHAR2 IS
        v1      NUMBER := CEIL((SYSDATE - dob) + 1);
        v2      NUMBER := FLOOR(v1/365);
        v3      NUMBER := FLOOR((v1 - v2*365)/30);
        v4      NUMBER := v1 - v2*365 - v3*30;
        v5      VARCHAR2(5);
        v6      VARCHAR2(6);
        v7      VARCHAR2(4);
    BEGIN
      IF v2 > 1 THEN
               v5 := 'years';
       ELSE
               v5 := 'year';
      END IF;
      IF v3 > 1 THEN
               v6 := 'months';
       ELSE
               v6 := 'month';
      END IF;
      IF v4 > 1 THEN
               v7 := 'days';
       ELSE
               v7 := 'day';
      END IF;
       RETURN v2||' '||v5||' '||v3||' '||v6||' '||v4||' '||v7;
    END;
/


select age_calculator('25-dec-1985') from dual;
« Last Edit: October 20, 2010, 12:27:45 PM by Fayez »