【发布时间】:2019-04-13 03:09:56
【问题描述】:
这是关于我想根据他们的社会安全号码知道数据库中个人的年龄。所以 sysdate - 他们的出生日期采用合适的格式。想要的结果:John,Doe,45.6 岁。表格数据:
表:
pnr VARCHAR2(13) value'19790343-7899'
我一定遗漏了一些明显的东西。这是我到目前为止的代码:(包括一些测试代码)
关于日期的一切
--完整代码,下面尝试--
declare
cursor c_åldrar is
select fnamn,enamn,(sysdate - to_date(substr(pnr,1,6),'yyyymm')) / 365
from bilägare;
begin
for rec in c_åldrar
loop
dbms_output.put_line(rec.fnamn||', '||rec.enamn||', '||rec.pnr||', '||sysdate);
end loop;
end;
/
-- Attempt 1
select fnamn,enamn,sysdate - to_date(substr(pnr,1,6),'yyyymm')
from bilägare;
-- Attempt 2
select fnamn,enamn,(sysdate - to_date(substr(pnr,1,6),'yyyymm')) / 365
from bilägare;
【问题讨论】:
-
to_date(substr(pnr,1,6)||'01','yyyymmdd')