如何解释这个COBOL(?)记录布局来创建MySQL TABLE?

时间:2013-06-26 22:15:57

标签: mysql cobol

我有一个字段位置.txt数据库的记录布局,可以转换为MySQL TABLE。记录布局中有一列标题为“PICTURE”我不确定它对数据类型的描述。这看起来很模糊,也许它是COBOL记录布局方法?

以下是一些例子和我的假设:

9(4)我猜“9”表示数字,“(4)”表示4位数。

“X”是一个角色?

9(5)V9(4) - 我不知道。 S9(7)V99 - 我不知道。

这是我所指的实际记录布局的链接: http://www.state.nj.us/treasury/taxation/lpt/MODIV-Counties/2013/MODIVLayout.pdf

我有人可以解释这些或指南,这将是最有帮助的。我没有得到来自MySQL的FILLER字段的目的。谢谢!

3 个答案:

答案 0 :(得分:3)

我的解释,我希望它可以帮助你:

  • 9(4):正如您所说的4位数字(请参阅屏幕中的长度栏)
  • X(4):长度为4的字符串(请参阅屏幕中的长度列)
  • 999 :3位数字
  • XXX :长度为3的字符串
  • 9(5)V9(4):十进制数字前5位数和小数点后4位数的十进制数(为了节省磁盘空间,不写“。” [见长度9])
  • S9(7)V99 :我猜一个小数点前7位数的后续值,后面是2位(没有%号)

您可以忽略所有组,因为无法映射到MySql(仅限ORDBMS [OOP])

我希望我能帮助你一点......; - )

答案 1 :(得分:3)

从5im开始,在cobol中, S9(7)V99 ,该符号通常表示为最低位数的超过类型。您可以在s9(7)V99字段中看到它们,它们都是9个字节长,没有为符号分配空间。

使用的实际符号字符取决于源计算机使用 ascii (即Unix)或 Ebcidic (即IBM)。

所以-1.21变为

  • 大型机 00000012J
  • Ascii 00000012q

所以-1.22变为

  • 大型机 00000012K
  • Ascii 00000012r

也可将正数1.20表示如下

  • 大型机 00000012 {
  • Ascii 00000012 @

和+1.21可以表示为00000012A

我建议澄清s9(7)V99字段的forat。 查找分区十进制定义

答案 2 :(得分:1)

继续5im的回答。

FILLER意味着空的空间。您不必将FILLER字段放在数据库中。 FILLER字段可以是不再需要的字段,也可以是记录布局中留下的空白区域,因此可以在不更改记录长度的情况下添加新信息。

像9(5)V9(4)和S9(7)V99这样的十进制数可以存储在DECIMAL列中。

相关问题