如何为 Progress 4GL 查询中的每个循环添加日期条件?
How to add a date condition to for each loop in Progress 4GL query?
我在查询时遇到困难,我必须更改以限制从 Progress 数据库导出的数据。我将 "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.
我是 Progress 4GL 数据库的新手,完全使用数据库。我所要做的只是对代码做一点小改动,如果描述中缺少一些重要信息,请原谅我。
使用 YEAR 函数。 YEAR() 函数将输入作为日期,并将日期的 returns 年值作为整数。
所以,替换
myorderdate.YEAR >= DATE("2012").YEAR
与:
YEAR(myorderdate) >= 2012
我会这样编码:
FOR EACH poTable NO-LOCK WHERE
ponum = 1 AND conum = 1 and
myorderdate >= 1/1/2012:
这样您就不必在循环的每次迭代中都计算 YEAR() 函数。
我在查询时遇到困难,我必须更改以限制从 Progress 数据库导出的数据。我将 "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.
我是 Progress 4GL 数据库的新手,完全使用数据库。我所要做的只是对代码做一点小改动,如果描述中缺少一些重要信息,请原谅我。
使用 YEAR 函数。 YEAR() 函数将输入作为日期,并将日期的 returns 年值作为整数。
所以,替换
myorderdate.YEAR >= DATE("2012").YEAR
与:
YEAR(myorderdate) >= 2012
我会这样编码:
FOR EACH poTable NO-LOCK WHERE
ponum = 1 AND conum = 1 and
myorderdate >= 1/1/2012:
这样您就不必在循环的每次迭代中都计算 YEAR() 函数。