我想从 Oracle 表中的 DOB(出生日期)字段计算人的当前年龄。
DOB 字段的数据类型为 varchar,日期以 'DD-MON-YY' 格式存储。
当我从日期计算一个人的当前年龄时,10-JAN-49
查询将返回负年龄。此外,我观察到,如果日期的年份为 13 到 49,它会给出否定的结果。
例子
22-NOV-83 -valid result
09-FEB-58 --valid result
05-JUN-49 - Invalid result like -36
查询已执行以供参考
select round(MONTHS_BETWEEN(sysdate,to_date(dob,'DD-MON-RR'))/12)||' Yrs'
from birth
任何帮助表示赞赏!