You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DISPLAY语句时是否可通过DELIMITER语句实现字段分隔?

问题

我需要对三个字段执行FOR EACH操作,字段分别为slmast.name、slmast.acode、slmast.address。通常这些字段会无分隔符整齐显示,请问是否可以使用DELIMITER语句为它们添加逗号、引号等分隔符?示例代码如下:

FOR EACH slmast.
 DISPLAY (DELIMITER) "," slmast.name slmast.acode slmast.address
回答

完全可以用DELIMITER语句为字段添加分隔符,不过你提供的示例语法位置有误,以下是正确的用法和扩展场景:

基础逗号分隔

DELIMITER是Progress 4GL中DISPLAY、EXPORT等语句的可选参数,必须放在字段列表之后,用于指定字段间的分隔字符:

FOR EACH slmast:
    DISPLAY slmast.name slmast.acode slmast.address DELIMITER ",".
END.

执行后会输出类似:John Doe,AC123,123 Main St的格式化内容。

带引号包裹的分隔格式

如果需要给每个字段添加引号(比如符合标准CSV格式),可以搭配QUOTE参数指定包裹字符:

FOR EACH slmast:
    DISPLAY slmast.name slmast.acode slmast.address DELIMITER "," QUOTE '"'.
END.

执行后输出:"John Doe","AC123","123 Main St"。

补充说明

  • 若需要更灵活的格式(比如不同字段用不同分隔符),可以用字符串拼接方式实现,例如:STRING(slmast.name) + "|" + STRING(slmast.acode) + "," + STRING(slmast.address),但DELIMITER是批量处理字段分隔的更简洁方案。
  • DELIMITER和QUOTE参数同样适用于EXPORT语句,方便导出格式化的文本文件。

内容的提问来源于stack exchange,提问作者OrbitalChairLeg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:50:24