微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

向正在进行的字符变量添加前导零 4gl

如何解决向正在进行的字符变量添加前导零 4gl

我正在尝试导入 .csv 文件以匹配数据库中的记录。但是,数据库记录有前导零。这是一个字符字段 数据量有点高的一面。 这里数据库中字段的长度为x(15)。

我面临的问题是 .csv 文件包含像 AB123456789 这样的数据,其中数据库字段有 "00000AB123456789" 。

我正在将 .csv 导入到字符变量中。

有人可以让我知道我应该怎么做才能使用进度查询获取前缀零吗?

谢谢。

解决方法

您需要用“0”填充()输入字符串以将其填充到特定长度。你可以用类似的代码来做到这一点:

define variable inputText as character no-undo format "x(15)".

define variable n as integer no-undo.

input from "input.csv".

repeat:

  import inputText.

  n = 15 - length( inputText ).

  if n > 0 then
    inputText = fill( "0",n ) + inputText.


  display inputText.

end.

input close.

将您的实际字段名称替换为 inputText,并使用您实际用于导入 CSV 数据的任何机制。

仅供参考 - “数据库中字段的长度”不是“x(15)”。那是一个显示格式字符串。数据字典具有在定义模式时创建的默认格式字符串,但它对数据库中实际存储的内容绝对没有影响。所有进度数据都存储为可变长度。它没有被填充以适应显示格式,事实上,它可能被“过度填充”,并且应用程序这样做非常非常普遍。对于认为显示格式是某种长度限制的 SQL 报告工具来说,这是一个很大的挫折来源。不是。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。