SELECT trunc (months / 12) || '歲' || trunc (MOD(months, 12)) || '月' || trunc ( sysdate - add_months (birth, trunc(months)) ) || '天' age FROM ( SELECT months_between (sysdate, birth) months, birth FROM ( SELECT date '2016-1-1' birth FROM DUAL ) );
單獨計算年齡的月數:
SELECT floor( MONTHS_BETWEEN ( TRUNC (SYSDATE, 'MONTH'), TRUNC (birthday, 'MONTH') ) / 12 ) AS age FROM DUAL
單獨計算年齡的年數:
SELECT floor( MONTHS_BETWEEN (sysdate, date '2000-1-1') / 12 ) FROM DUAL