【发布时间】:2011-11-15 04:29:05
【问题描述】:
我在 sql server 2008 exp r2 中将一列声明为 numeric(5,3),并且我认为它可以让我保存像 12345.123 这样的值,但是当我尝试输入大于 100 的任何值时,它给了我溢出错误。这让我相信在 numeric(5,3) 中,5 代表数字的总长度,包括精度和比例。考虑到这一点,我将列的类型更改为小数(9,3)并假设它允许我输入像 123456.123 这样的值,但它再次给出溢出错误。我无法理解 sql server 是如何解释这种数据类型及其精度和规模的。
更新:
奇怪的是,当插入数值 numeric(9,3) 时只允许输入像 1234.123 这样的值,但是在编辑行时我可以输入数值 123456.123。不知道这里发生了什么:(
【问题讨论】:
-
RE:更新,你是怎么做插入的?你有什么触发器吗?
-
啊,是的,我确实有插入触发器。让我检查一下是否是造成问题的人
标签: sql-server-2008 sql-server-express numeric sqldatatypes