首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >指定的列精度大于最大精度38

指定的列精度大于最大精度38
EN

Stack Overflow用户
提问于 2012-06-28 17:37:04
回答 3查看 8.1K关注 0票数 0

我正在SQL Server 2008中创建一个新的SP(存储过程),它将给我一个错误,即

代码语言:javascript
代码运行次数:0
运行
复制
Specified column precision 52 is greater than the maximum precision of 38

我不明白为什么会发生这个错误?

请让我解释为什么会发生这个错误,以及我如何解决这个错误。

EN

回答 3

Stack Overflow用户

发布于 2012-06-28 17:49:24

系统会告诉您出现错误的原因。

您要求的精度为52,但最大默认精度仅为38。所以系统不能给你你想要的精度。

请参阅:http://msdn.microsoft.com/en-us/library/ms190476.aspx

在SQL Server中,numeric和decimal数据类型的默认最大精度为38。在SQL Server的早期版本中,默认最大精度为28。

票数 2
EN

Stack Overflow用户

发布于 2012-06-28 18:14:49

我犯了一个错误,这真的是一个愚蠢的错误,它是由我的错误产生的。我声明了一个数据类型为decimal的参数,并错误地使用了decimal的长度为52。所以它给出了一个错误,因为十进制最大长度id为38。

票数 0
EN

Stack Overflow用户

发布于 2019-11-13 19:10:20

您正在尝试放入一个比表中存储的变量更精确的变量。

检查您的表结构或语句/过程。

对于使用hibernate寻找类似问题解决方案的其他人,请检查您的映射文件。

在我的例子中,我在hibernate映射文件(*.hbm.xml)中将精度更改为38。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11241835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档