Datetime 如何为进行中的每个循环4GL查询添加日期条件?
我在查询时遇到困难,我必须更改以限制从进度数据库导出的数据。我将“myorderdate”导出到文本文件。但是,我必须将数据限制为2012年之后的订单Datetime 如何为进行中的每个循环4GL查询添加日期条件?,datetime,for-loop,comparison,openedge,progress-4gl,Datetime,For Loop,Comparison,Openedge,Progress 4gl,我在查询时遇到困难,我必须更改以限制从进度数据库导出的数据。我将“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
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.
我不熟悉4GL数据库的开发,也不熟悉数据库。我所要做的就是对代码做一个小改动,因此如果描述中缺少一些重要信息,请原谅。使用年份函数。函数的作用是:将输入作为日期,并以整数形式返回日期的年份值
那么,替换
myorderdate.YEAR >= DATE("2012").YEAR
与:
使用年份函数。函数的作用是:将输入作为日期,并以整数形式返回日期的年份值
那么,替换
myorderdate.YEAR >= DATE("2012").YEAR
与:
我会这样编码:
FOR EACH poTable NO-LOCK WHERE
ponum = 1 AND conum = 1 and
myorderdate >= 1/1/2012:
这样,您就不必在循环的每次迭代中都对YEAR()函数求值。我将这样编写它:
FOR EACH poTable NO-LOCK WHERE
ponum = 1 AND conum = 1 and
myorderdate >= 1/1/2012:
这样可以避免在循环的每次迭代中计算YEAR()函数