如何为 Progress 4GL 查询中的每个循环添加日期条件?

Dam*_*987 3 comparison datetime for-loop progress-4gl openedge

我在查询时遇到困难,我必须更改该查询以限制从进度数据库导出的数据。我将“myorderdate”导出到文本文件。但是,我必须将数据限制为仅 2012 年之后的订单。

OUTPUT STREAM s1 TO VALUE(exportFileStringDirectory).
FOR EACH poTable NO-LOCK WHERE
 ponum = 1 AND
 /* this doesn't work -->*/
 /*myorderdate.YEAR >= DATE("2012").YEAR AND*/
 conum = 1:

 PUT STREAM s1 UNFORMATTED
    ISO-DATE(myorderdate)
 SKIP. 
END.
OUTPUT STREAM s1 CLOSE.
Run Code Online (Sandbox Code Playgroud)

我是 Progress 4GL 数据库的新手,并且完全使用数据库。我所要做的只是对代码进行一点小小的更改,因此如果描述缺少一些重要信息,请原谅我。

Tom*_*com 5

我会这样编码:

FOR EACH poTable NO-LOCK WHERE
 ponum = 1 AND conum = 1 and 
 myorderdate >= 1/1/2012:
Run Code Online (Sandbox Code Playgroud)

这样您就可以避免在循环的每次迭代中都对 YEAR() 函数求值。