【发布时间】:2018-01-05 19:43:27
【问题描述】:
我是 apex 的新手,我正在开发一个食品订购应用程序,允许客户在下单后最多 15 分钟内更改他们的订单详细信息。我该如何实现呢?
【问题讨论】:
标签: oracle-apex
我是 apex 的新手,我正在开发一个食品订购应用程序,允许客户在下单后最多 15 分钟内更改他们的订单详细信息。我该如何实现呢?
【问题讨论】:
标签: oracle-apex
在日期项上创建验证。计算 SYSDATE(即“现在”)和订单日期之间的差异。减去两个 DATE 数据类型值得到天数,因此将其乘以 24(得到小时)和 60(得到分钟)。如果该结果大于 15,则引发错误。
【讨论】:
为了提供Littlefoot's answer 的替代方案,如果您使用 SYSTIMESTAMP,则时间戳算术返回区间文字,您的查询可能是:
systimestamp - order_date < interval '15' minute
或者,甚至使用 SYSDATE 之类的东西:
order_date > sysdate - interval '15' minute
请注意,15 分钟似乎有些随意(一个神奇的数字),它依赖于在该时间限制内未开始处理的订单。说类似“您可以在厨房开始烹饪之前更改您的订单”之类的话感觉更自然。那时不需要任何神奇的数字,浪费也大大减少(无论是客户的时间总是等待 15 分钟,还是厨房的资源在烹饪他们可能不得不丢弃的东西)。
【讨论】: