理解具有精度和比例的MONEY()数据类型

时间:2017-11-23 22:37:42

标签: sql-server sql-server-2008 tsql ssms

我在这个链接上看了一些示例考题:

  

http://www.elearningexams.com/70-461-notes/page/2

并遇到了下面的问题1。

Which of the following datatypes has a fixed precision and a scale of six digits?

A. Double

B. Money

C. Int

D. Numeric

E. SmallInt

F. VarInt

G. Float

Answer is B. Money

我不明白Money()如何具有固定的精度和六位数的比例。我浏览了这篇MSDN文档,但并不理解:https://docs.microsoft.com/en-us/sql/t-sql/data-types/money-and-smallmoney-transact-sql

有人可以用一些例子来解释,以及如何在MONEY()中测量精度和比例。 感谢。

2 个答案:

答案 0 :(得分:4)

在TSQL中 smallmoney 的比例为4,固定精度为10

smallmoney: -214748.3648 to 214748.3647

Money 的比例为4,固定精度为19

money: -922337203685477.5808 to 922337203685477.5807
因此,我得出结论认为答案是错误的(也许他们认为小钱是选项B)

答案 1 :(得分:3)

精确度是数字中的位数。 Scale是数字中小数点右边的位数。

因此:

MONEY 精度为19,比例为4

SMALLMONEY 精度为10,比例为4

除十进制以外的数字数据类型的精度比例已修复。 MONEY数据类型的比例是4(四位十进制数字) 有关精度和比例的更多信息here