0

我必须将数据从 AS400 DB2 系统加载到SQL Server 2012。提取的数据采用 excel 格式,我需要从中加载到 SQL Server。推荐的IBM DB2/AS400 订户

我在 DB2/AS400 中有以下十进制类型。

  1. 字节长度 = 2,十进制长度 =3,十进制位置 = 0
  2. 字节长度 = 3,十进制长度 =5,十进制位置 = 2
  3. 字节长度 = 3,十进制长度 =3,十进制位置 = 0
  4. 字节长度 = 3,十进制长度 =5,十进制位置 = 4
  5. 字节长度 = 4,十进制长度 =4,十进制位置 = 0
  6. 字节长度 = 4,十进制长度 =6,十进制位置 = 3
  7. 字节长度 = 4,十进制长度 =7,十进制位置 = 4
  8. 字节长度 = 5,十进制长度 =5,十进制位置 = 0
  9. 字节长度 = 5,十进制长度 =9,十进制位置 = 4
  10. 字节长度 = 6,十进制长度 =11,十进制位置 = 0
  11. 字节长度 = 6,十进制长度 =11,十进制位置 = 2
  12. 字节长度 = 6,十进制长度 =11,十进制位置 = 4
  13. 字节长度 = 6,十进制长度 =11,十进制位置 = 5
  14. 字节长度 = 7,十进制长度 =13,十进制位置 = 4
  15. 字节长度 = 7,十进制长度 =7,十进制位置 = 2
  16. 字节长度 = 9,十进制长度 = 9,十进制位置 = 4

SQL Server 2012 中每个对应的数据类型是什么?

选择这些数据类型的理由是什么?

4

1 回答 1

1

在 SQL Server 中,您无法定义 adecimal占用多少存储空间 - SQL Server 具有固定的存储要求。所以我认为我们必须忽略字节长度,如果我将其解释为存储大小要求。至于其余的,在 SQL Server 中,您声明decimal为:

decimal (p ,s)

其中p是精度(数字所有部分的总位数),s是小数位数(小数点右侧的位数)。

由于您展示的所有类型都具有比“Dec Pos”更大的“十进制长度”,我将假设这些概念直接映射到decimals 精度和比例。

所以类型数字 1 将是decimal(3,0),数字 16 将是decimal(9,4)

于 2013-07-05T08:55:26.870 回答