with some_birthdays as
( select date '1983-09-18' d from dual union all
select date '1989-05-02' from dual union all
select date '2012-10-16' from dual
)
select trunc(sysdate) today
, d birth_date
, extract(year from numtoyminterval(months_between(trunc(sysdate),d),'month')) age
from some_birthdays
-------------------------------------------------------------------------------------------------------
Select trunc(months_between(sysdate,dob)/12) year,
trunc(mod(months_between(sysdate,dob),12)) month,
trunc(Sysdate-Add_Months(DOB,Trunc(months_between(sysdate,dob)/12)*12
+TRUNC(MOD(months_between(sysdate,dob),12)))) DAY
From (Select to_date('01041977','DDMMYYYY') dob From Dual);
-------------------------------------------------------------------------------------------------------
( select date '1983-09-18' d from dual union all
select date '1989-05-02' from dual union all
select date '2012-10-16' from dual
)
select trunc(sysdate) today
, d birth_date
, extract(year from numtoyminterval(months_between(trunc(sysdate),d),'month')) age
from some_birthdays
-------------------------------------------------------------------------------------------------------
Select trunc(months_between(sysdate,dob)/12) year,
trunc(mod(months_between(sysdate,dob),12)) month,
trunc(Sysdate-Add_Months(DOB,Trunc(months_between(sysdate,dob)/12)*12
+TRUNC(MOD(months_between(sysdate,dob),12)))) DAY
From (Select to_date('01041977','DDMMYYYY') dob From Dual);
-------------------------------------------------------------------------------------------------------
No comments:
Post a Comment