嗨,我想知道如何计算昨天创建的记录,以及如何计算今天产生的记录。 请看一下我的代码。
FOR EACH womf_worder OF sfcf_au_ship WHERE womf_worder.word_production_status = "B"
AND womf_worder.word_build_date = DATE(TODAY)
AND womf_worder.word_build_time GE tt_shift.shft_start_hour
AND womf_worder.word_build_time LE tt_shift.shft_stop_hour NO-LOCK:
IF AVAILABLE womf_worder THEN DO:
i = i + 1.
END.
tt_shift.shft_start_hour = 06:00:00和stop_hour = 23:50:00
在这里,我的问题是如何计算明天的记录和昨天的记录。我该如何使用DATETIME?
答案 0 :(得分:4)
DATETIME将非常有用。快速锁定您的示例使我认为您具有单独的日期和时间字段。我不确定TIME字段是什么。也许是整数还是字符串?
您不需要在FOR循环中进行可用性检查。它用于FINDS,也可能用于JOINS,其中循环中可能没有记录。对于像这样的基本FOR EACH,只会处理可用的记录。
如果时间确实是整数或字符串,则您的代码可以很好地与可用性检查的次要修复一起工作。
FOR EACH womf_worder OF sfcf_au_ship WHERE womf_worder.word_production_status = "B"
AND womf_worder.word_build_date = DATE(TODAY)
AND womf_worder.word_build_time GE tt_shift.shft_start_hour
AND womf_worder.word_build_time LE tt_shift.shft_stop_hour NO-LOCK:
i = i + 1.
END.
答案 1 :(得分:1)
for each womf_worder of sfcf_au_ship where
womf_worder.word_production_status EQ "B" and
womf_worder.word_build_date EQ today - 1 and
womf_worder.word_build_time GE tt_shift.shft_start_hour and
womf_worder.word_build_time LE tt_shift.shft_stop_hour
no-lock:
assign i = i + 1.
end.
注意: