IT Help Desk > Oracle Academy
Age Calculator Function
(1/1)
Fayez:
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;
Navigation
[0] Message Index
Go to full version