以精度和比例理解 MONEY() 数据类型

Mos*_*han 2 t-sql sql-server ssms sql-server-2008

我正在此链接上查看一些示例考试问题:

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
Run Code Online (Sandbox Code Playgroud)

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

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

Emi*_*eni 7

精度是数字中的位数。小数位数是数字中小数点右侧的位数。

所以:

MONEY精度为 19,刻度为 4

SMALLMONEY具有精确的10和刻度的4

精度规模除了十进制数值数据类型的被固定。MONEY 数据类型的小数位数是 4(四位十进制数字)更多关于精度和小数位数在这里


Use*_*ady 5

在 TSQL 中,smallmoney 的小数位数为 4,固定精度为 10

smallmoney: -214748.3648 to 214748.3647
Run Code Online (Sandbox Code Playgroud)

Money的小数位数为 4,固定精度为 19

money: -922337203685477.5808 to 922337203685477.5807
Run Code Online (Sandbox Code Playgroud)

因此我得出结论,答案是错误的(也许他们的意思是小钱是选项B)