SQL问题 - ODBC连接

时间:2017-12-20 12:51:57

标签: sql oracle sysdate

目前我们有一条线从系统中提取订单的发货日期:

and o.actualshipdate like sysdate

Sysdate是当前所有发货订单的系统日期。

我们如何更改或调整以显示当前系统日期但在特定时间范围内发货的订单:

查询使用以下行,但我们必须每天调整日期。我们希望在当前日期实现自动化。

需要调整以下线:

and to_char(o.actualshipdate, 'YYYYMMDD HH24:MI') between '20171220 13:00' and '20171220 13:00'

1 个答案:

答案 0 :(得分:2)

在oracle中,我们sysdate提供当前系统日期。 Check doc for sysdate

如果您希望查询获取最后5小时的货件详细信息,则条件应为

and shipmentdate >= (sysdate-(5/24))

如果你想要最后5分钟,那么

and shipmentdate >= (sysdate-(5/1440))

其中1440 = 24 * 60。

如果你想要最后1天,那么

and shipmentdate >= sysdate-1

希望你有这个想法..

请注意,只有当loadingdate是date数据类型列时,所有这些才有效。否则查询会稍微改变一下。

如果你想要一个时间框架,你也可以使用,例如。

and shipmentdate between (sysdate-(10/24)) and (sysdate-(5/24))

如果您的发货日期可能有未来记录,则使用

and shipmentdate between sysdate-x and sysdate