我正在SQL Server 2008中创建一个新的SP(存储过程),它将给我一个错误,即
Specified column precision 52 is greater than the maximum precision of 38
我不明白为什么会发生这个错误?
请让我解释为什么会发生这个错误,以及我如何解决这个错误。
发布于 2012-06-28 09:49:24
系统会告诉您出现错误的原因。
您要求的精度为52,但最大默认精度仅为38。所以系统不能给你你想要的精度。
请参阅:http://msdn.microsoft.com/en-us/library/ms190476.aspx
在SQL Server中,numeric和decimal数据类型的默认最大精度为38。在SQL Server的早期版本中,默认最大精度为28。
发布于 2012-06-28 10:14:49
我犯了一个错误,这真的是一个愚蠢的错误,它是由我的错误产生的。我声明了一个数据类型为decimal的参数,并错误地使用了decimal的长度为52。所以它给出了一个错误,因为十进制最大长度id为38。
发布于 2019-11-13 11:10:20
您正在尝试放入一个比表中存储的变量更精确的变量。
检查您的表结构或语句/过程。
对于使用hibernate寻找类似问题解决方案的其他人,请检查您的映射文件。
在我的例子中,我在hibernate映射文件(*.hbm.xml
)中将精度更改为38。
https://stackoverflow.com/questions/11241835
复制相似问题