我有一个餐饮应用程序,它应该计算订单时间是否已超过 15 分钟。我有一个想法,我应该在哪里计算当前时间和订单时间之间的时间差,但我不知道该怎么做。有没有人有一个简单的解决方案来解决这个问题?
在 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) 表中的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句