【发布时间】:2018-06-10 15:29:46
【问题描述】:
我有一个餐饮应用程序,它应该计算订单时间是否已超过 15 分钟。我有一个想法,我应该在哪里计算当前时间和订单时间之间的时间差,但我不知道该怎么做。 有没有人有一个简单的解决方案来解决这个问题?
【问题讨论】:
标签: oracle oracle-apex
我有一个餐饮应用程序,它应该计算订单时间是否已超过 15 分钟。我有一个想法,我应该在哪里计算当前时间和订单时间之间的时间差,但我不知道该怎么做。 有没有人有一个简单的解决方案来解决这个问题?
【问题讨论】:
标签: oracle oracle-apex
在 Oracle 中减去两个日期值得到天数。因此,您必须进行一些数学运算才能获得小时(或分钟)。这是一个例子:
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) 表中的值。
【讨论】: