【问题标题】:understanding MONEY() datatype with precision and scale以精度和规模理解 MONEY() 数据类型
【发布时间】:2018-05-07 22:15:03
【问题描述】:

我在这个链接上浏览了一些样题:

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()中测量精度和规模。 谢谢。

【问题讨论】:

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


    【解决方案1】:

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

    因此:

    MONEY精确度为19,规模为4

    SMALLMONEY精度为10,规模为4

    除了小数之外的数值数据类型的精度比例固定的。 MONEY 数据类型的小数位数为 4(四位小数) 更多关于精度和规模的信息here

    【讨论】:

      【解决方案2】:

      在 TSQL 中 smallmoney 的规模为 4,固定精度为 10

      smallmoney: -214748.3648 to 214748.3647
      

      金钱的标度为4,固定精度为19

      money: -922337203685477.5808 to 922337203685477.5807
      

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

      【讨论】:

      • 精度是总位数,而不是小数点左边的位数。 Smallmoney 类似于decimal(10,4),而不是decimal(6,4)
      • 根据linklink。所以 SMALLMONEY 将类似于 decimal(10,4)
      • 抱歉,这是我想要的评论:根据linklink SMALLMONEY 将类似于decimal(10,4)
      • 我仍然对上面和下面发布的答案感到困惑。 . .精度位和刻度位仍不清楚
      • @BaconBits 所说的是正确的。精度是位数的总数,例如(从此处提取:link)数字 123.45 的精度为 5,小数位数为 2。
      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 2016-03-11
      • 2011-11-04
      • 1970-01-01
      • 2016-05-27
      • 2021-09-20
      • 2017-08-24
      • 1970-01-01
      相关资源
      最近更新 更多