Apex 5.1中两个时间戳之间的时差

时间:2017-12-30 15:36:31

标签: oracle oracle-apex

我有一个食品餐饮应用程序,应该计算订单时间是否已超过15分钟。我有一个想法,我应该计算当前时间和订单时间之间的时差,但我不知道该怎么做。 有没有人有一个简单的解决方案来解决这个问题?

1 个答案:

答案 0 :(得分:0)

在Oracle中减去两个日期值会导致DAYS的数量。因此,你必须做一些数学计算才能获得数小时(或分钟)。这是一个例子:

SQL> col diff_days format 90D00000
SQL> col diff_hours format 90D00000
SQL> col diff_minutes format 90D00000
SQL>
SQL> with test as (select to_date('29.12.2017 16:05', 'dd.mm.yyyy hh24:mi') d_order,
  2                       to_date('29.12.2017 16:39', 'dd.mm.yyyy hh24:mi') d_now
  3                from dual)
  4  select
  5     d_now - d_order              diff_days,
  6    (d_now - d_order) * 24        diff_hours,
  7    (d_now - d_Order) * (24 * 60) diff_minutes
  8  from test;

DIFF_DAYS DIFF_HOURS DIFF_MINUTES
--------- ---------- ------------
  0,02361    0,56667     34,00000

SQL>

你也是这样做的:D_NOW是SYSDATE,而D_ORDER是存储在(n ORDERS)表中的值。