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



在Oracle中,当您具有NUMBER数据类型并且没有像NUMBER(18,2)那样指定精度和小数位数并像这样使用它时NUMBER它将存储给定的值。

从手册

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

现在我想知道是否有办法让SQL Server中的NUMERIC 数据类型做同样的事情。我必须使用数字而不是十进制或其他数据类型,并且不允许指定精度或小数位数,因为我无法测试将使用的数据是否会导致错误,因为我无法访问数据。我只知道这些数据不会给我们的 Oracle 数据库带来任何问题,该数据库仅使用 NUMBER 数据类型而没有任何规范。

否,数值需要精度和小数位数,如果未设置,则具有默认值。就这么简单。

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

报价:

十进制[ (p[ ,s] (] 和数字[ (p[ ,s] (] 固定精度和小数位数 数字。使用最大精度时,有效值为 - 10^38 +1 到 10^38 - 1。十进制的 ISO 同义词是 dec 和 dec(p, s(。数字在功能上等效于十进制。

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

相关内容

最新更新