DB2 / AS400的SQL Server数据类型具有字节长度和十进制长度的小数

时间:2013-07-05 08:40:00

标签: sql-server sql-server-2012

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

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

  1. 字节长度= 2,十进制长度= 3,Dec Pos = 0
  2. 字节长度= 3,十进制长度= 5,Dec Pos = 2
  3. 字节长度= 3,十进制长度= 3,Dec Pos = 0
  4. 字节长度= 3,十进制长度= 5,Dec Pos = 4
  5. 字节长度= 4,十进制长度= 4,Dec Pos = 0
  6. 字节长度= 4,十进制长度= 6,Dec Pos = 3
  7. 字节长度= 4,十进制长度= 7,Dec Pos = 4
  8. 字节长度= 5,十进制长度= 5,Dec Pos = 0
  9. 字节长度= 5,十进制长度= 9,Dec Pos = 4
  10. 字节长度= 6,十进制长度= 11,Dec Pos = 0
  11. 字节长度= 6,十进制长度= 11,Dec Pos = 2
  12. 字节长度= 6,十进制长度= 11,Dec Pos = 4
  13. 字节长度= 6,十进制长度= 11,Dec Pos = 5
  14. 字节长度= 7,十进制长度= 13,Dec Pos = 4
  15. 字节长度= 7,十进制长度= 7,Dec Pos = 2
  16. 字节长度= 9,十进制长度= 9,Dec Pos = 4
  17. SQL Server 2012中相应的每种数据类型是什么?

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

1 个答案:

答案 0 :(得分:1)

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

decimal (p ,s)

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

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

因此,类型编号1为decimal(3,0),编号16为decimal(9,4)