【发布时间】:2020-12-13 17:37:48
【问题描述】:
我想使用代码中 cmets 中的格式从存储为字符串的出生日期计算年龄。这是我的代码:
--pnr values
--'19490321-7000'
--'19540201-7000'
--'19650823-7000'
declare
v_now date :=to_date(sysdate, 'YYYY-MM-DD');
v_dob date;
v_age number;
cursor c_carowners is select fnamn, enamn, pnr
from carowners;
begin
for v_rec in c_carowners loop
v_dob:= to_date(substr(v_rec.pnr,1,8), 'YYYY-MM-DD');
v_age := (months_between(v_now, v_dob))/12;
dbms_output.put_line('Age is: '||v_age);
end loop;
end;
我得到的结果如下:
Statement processed.
Age is: -1935.252688172043010752688172043010752692
Age is: -1940.115591397849462365591397849462365592
Age is: -1951.674731182795698924731182795698924733
我猜这一年有什么问题,但我想不通!
【问题讨论】:
-
mysql 不是 plsql。我想这与mysql无关?
-
没错,我现在编辑了标签