Plsql PL/SQL sysdate格式不工作?

Plsql PL/SQL sysdate格式不工作?,plsql,oracle-apex,sysdate,Plsql,Oracle Apex,Sysdate,我对PL/SQL中的sysdate格式有问题。 我试着计算我的年龄,每天(所以它应该返回20.44左右)。 但是,sysdate无法使用此格式,并且值v_leeftijd始终返回-2000.91。 显然那不是我的年龄。我如何解决这个问题? 我有以下代码: declare v_vandaag date := to_date(sysdate, 'DD-MM-YYYY'); v_geboortedatum date := to_date('29-05-2014', 'DD-MM-YYYY'); v_l

我对PL/SQL中的sysdate格式有问题。 我试着计算我的年龄,每天(所以它应该返回20.44左右)。 但是,sysdate无法使用此格式,并且值v_leeftijd始终返回-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;

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;
/

[…]值v_leeftijd不断返回-2000.91。显然这不是我的年龄。
祝贺你,你可能是有史以来最年轻的SO会员!您究竟是如何在这么短的时间内参与Oracle遗留技术的?谢谢!对我来说,它现在工作正常了。但是,当我们运行apex应用程序时,我的队友将得到不同的值。因为在荷兰,计算机有不同的系统日期。我的电脑是用英语格式化的。如何解决此问题?是,sysdate是系统日期,并且与时区有关。你对此无能为力,但我怀疑这是个问题,因为你操纵的所有日期都是硬编码的,对吗?2014年5月29日不一定是同一个太平洋标准时间或格林威治标准时间。我想说的是,你必须就标准时区达成一致。在行业中,我们通常选择UTC来存储日期。尽管SYSDATE是与oracle日期不同的系统日期,但请注意。这意味着它使用的是服务器的时区,而不是数据库。感谢您的解释!因为这是一个学校项目,所以只需使用服务器时间就可以了。但最好记住。