代码之家  ›  专栏  ›  技术社区  ›  thursdaysgeek

SQL Server 2005中一个数字可以存储多少位数字?

  •  0
  • thursdaysgeek  · 技术社区  · 16 年前

    我有一个来自Oracle数据库的号码47306832975095894070.85314746810624532。当我将其引入SQL Server时,它当然不会显示那么多数字。它显示为4.73068329750959E+19,字段定义为FLOAT。

    我认为这可能包括所有有效数字,但有人问我这个数字是否可以完全按照Oracle的方式存储。是否有另一种数据类型可以存储所有数字?SQL Server 2005中是否有一种方法可以显示存储的所有数字,而不是指数数字?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Alex Reitbort    16 年前

    使用十进制数据类型。 decimal(p,s)-p是精度值,s是刻度值。

        2
  •  3
  •   George Mastros    16 年前

    使用Decimal(38,17)代替浮点数。这应该允许您以与Oracle中相同的精度存储数字。

        3
  •  2
  •   Mac    16 年前

    相当于 NUMBER (p,s) Sql Server上的Oracle数据类型是 numeric (p,s) 数据类型。请注意,默认值为 p (精度)和 s (规模)在两个平台上并不相同。

    在Sql Server上 float 表示一个完全不同的浮点数, approximate representation 一个数字。在Oracle上,相当于 BINARY_DOUBLE .

    推荐文章