【问题标题】:Why can't I insert a decimal into an sql server table?为什么我不能在 sql server 表中插入小数?
【发布时间】:2012-12-02 21:31:44
【问题描述】:

我有一个简单的查询:

INSERT INTO tblIndicators (RunID, EventTS, MA1t3) 
Values (65, '11/2/2012 2:25:00 AM', 1.0); 

我收到此错误消息:

消息 8115,第 16 级,状态 8,第 1 行
将数值转换为数值数据类型时出现算术溢出错误。

Decimal 数据类型的精度为 (8,8)。那么问题出在哪里??

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    decimal (8, 8) 表示所有 8 位有效数字都在小数点右侧。 1.0 太大了。

    【讨论】:

      【解决方案2】:

      试试十进制 (8,2)

      (8,8) 不会在 . 左侧留下任何数字。

      【讨论】:

        【解决方案3】:

        8,8 表示最多可以存储 0.99999999 如果您需要存储像 12345678.12345678 这样的数字,您应该声明:十进制 (16,8)

        解释这个声明:十进制( {TotalDigits} , {DigitsToTheRight} )

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-12-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多