PROGRESS 4GL:如何筛选表字段中的负整数值?
只获取负整数值的两种实现方式
1. 筛选包含负整数值的记录
如果要找出至少有一个字段为负数的记录,直接在FOR EACH语句中添加条件判断即可:
DEFINE TEMP-TABLE ttdata NO-UNDO FIELD iValue1 AS INTEGER FIELD iValue2 AS INTEGER . CREATE ttdata. ASSIGN iValue1 = 122 iValue2 = -122 . CREATE ttdata. ASSIGN iValue1 = -34 iValue2 = 56 . CREATE ttdata. ASSIGN iValue1 = 78 iValue2 = 90 . -- 筛选存在负数值的记录 FOR EACH ttdata NO-LOCK WHERE iValue1 < 0 OR iValue2 < 0: DISP iValue1 iValue2. END.
2. 仅显示记录中的负整数字段
如果要在输出时只展示值为负的字段,而非全部字段,可以通过条件判断控制显示逻辑:
DEFINE TEMP-TABLE ttdata NO-UNDO FIELD iValue1 AS INTEGER FIELD iValue2 AS INTEGER . CREATE ttdata. ASSIGN iValue1 = 122 iValue2 = -122 . FOR EACH ttdata NO-LOCK: IF iValue1 < 0 THEN DISPLAY iValue1. IF iValue2 < 0 THEN DISPLAY iValue2. END.
补充说明
- 识别负数值的核心逻辑是利用整数小于0的判断(
字段名 < 0) - 若需要筛选多个字段同时为负的记录,将条件中的
OR替换为AND即可
内容的提问来源于stack exchange,提问作者Bharat
相关产品推荐
相关产品推荐

