我在这个链接上看了一些示例考题:
并遇到了下面的问题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()中测量精度和比例。 感谢。
答案 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