代码之家  ›  专栏  ›  技术社区  ›  Mad Scientist

如何存储SQL Server中给定的数值

  •  0
  • Mad Scientist  · 技术社区  · 6 年前

    在Oracle中,当您有一个数字数据类型,并且没有像 NUMBER(18,2) 例如,像这样使用它 NUMBER

    From the manual

    如果未指定精度,则列将存储给定的值

    现在我想知道是否有办法让SQL Server中的数值数据类型也这样做。我必须使用数字而不是十进制或其他数据类型,我不允许指定精度或刻度,因为我无法测试将要使用的数据是否会导致错误,因为我无法访问数据。我只知道这些数据没有给我们的Oracle数据库带来任何麻烦,它只使用数字数据类型,没有任何规范。

    1 回复  |  直到 6 年前
        1
  •  2
  •   TomTom    6 年前

    不,numeric需要精度和刻度,如果未设置,则具有默认值。就这么简单。

    https://docs.microsoft.com/en-us/sql/t-sql/data-types/decimal-and-numeric-transact-sql?view=sql-server-2017

    十进制[(p[,s])]和数字[(p[,s])]固定精度和刻度 数字。当使用最大精度时,有效值为-- 10 ^ 38。

    像往常一样,文档是你的朋友。