首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时间减4小时的Openedge语法

时间减4小时的Openedge语法
EN

Stack Overflow用户
提问于 2014-11-12 14:58:14
回答 1查看 1.4K关注 0票数 2

我正在试图找出如何编写一个Openedge查询,在这里我可以回顾4个小时。我以前一直在使用TIME语法。如果我正确理解,TIME表示在Openedge中是从午夜开始的几秒钟内。我试图编写的查询将每天运行4次,回首4个小时。

有任何方法可以使用TIME来完成这个任务吗?也许我必须写4种不同的查询,只从特定的时间开始提取记录?

非常感谢您对我的帮助,非常感谢!

马丁

EN

回答 1

Stack Overflow用户

发布于 2014-11-12 15:25:49

您没有很好地描述表的内容或布局。

是的,时间,正在进行的ABL包含从午夜开始的秒数。例如16:20是58800 (16 * 3600 + 20 * 60)。

假设表中的字段包含一个整数,表示您可以这样做来选择四个小时前创建的记录的时间:

代码语言:javascript
复制
DEFINE VARIABLE iTime AS INTEGER     NO-UNDO.
/* I find it easier to write like this but you can very well do = TIME - 14400 instead */
iTime = TIME - 4 * 3600.

FOR EACH tablename NO-LOCK WHERE tablename.createtime >= iTime:
  /* Do something */
END.

注意:也许您也需要检查创建日期?处理午夜的事?

另一个选项可能是查看DATETIME类型。在那里,您可以做一些操作,比如增加和分散一定的时间。

代码语言:javascript
复制
DEFINE VARIABLE datnow  AS DATETIME    NO-UNDO.
DEFINE VARIABLE datthen AS DATETIME    NO-UNDO.

datnow = NOW.

DISPLAY datnow.

datthen = ADD-INTERVAL(datnow, -4, "hours").

DISPLAY datthen. 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26889928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档