 <p>The below query could solve your expectation..</p> <pre><code>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('15-12-2000','DD-MM-YYYY') dob FROM dual ); Year Month day 14 9 21 </code></pre>