1

我有一个字段位置 .txt 数据库的记录布局以转换为 MySQL 表。记录布局中有一个标题为“图片”的列,我不确定它对数据类型的描述是什么。这看起来有点眼熟,也许是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 字段的用途。谢谢!

4

3 回答 3

3

我的解读,希望对你有帮助:

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

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

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

于 2013-06-26T22:29:41.933 回答
3

从 5im 开始,在 cobol、S9(7)V99中,符号通常表示为最低位数字的over 类型。您可以在 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 字段的格式。查找分区十进制定义

于 2013-06-27T01:31:41.013 回答
1

继续 5im 的回答。

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

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

于 2013-06-27T00:41:13.833 回答