0

我在 PL/SQL 中的 sysdate 格式有问题。我尝试计算当天的年龄(所以它应该返回类似 20.44 的值)。但是 sysdate 不适用于这种格式,并且值 v_leftijd 不断返回 -2000.91。显然那不是我的年龄。我该如何解决这个问题?我有以下代码:

declare
v_vandaag date := to_date(sysdate, 'DD-MM-YYYY');
v_geboortedatum date := to_date('29-05-2014', 'DD-MM-YYYY');
v_leeftijd number(10,2);

begin

--leeftijd/dagen = leeftijd in jaren
v_leeftijd := (v_vandaag - v_geboortedatum)/365;

dbms_output.put_line(v_leeftijd);

end;
4

1 回答 1

2

sysdate已经是一个日期:

SET SERVEROUTPUT ON
declare
    v_geboortedatum date := to_date('29-05-2014', 'DD-MM-YYYY');
    v_leeftijd number(10,2);
begin
    --leeftijd/dagen = leeftijd in jaren
    v_leeftijd := (sysdate - v_geboortedatum)/365;

    dbms_output.put_line(v_leeftijd);
end;
/
于 2014-10-30T23:53:01.460 回答