2016-01-18 62 views
1

,当我试图6个数字我有这样的错误“算术溢出错误将表达式转换为数据类型为int”。 amredy尝试与数字格式。但我得到了同样的问题。乘法问题在SQL Server 2012

例如:选择(4561 * 6541)

请给我这一个妥善的解决办法。等待一个好的解决方案。

回答

2

演员到bigint

select cast(234561 as bigint) * cast(622541 as bigint) 

(注意本例中的4位数字的工作对我很好,但像你描述这是由上面的代码解决了误差与6位数字)

+0

提供您的输入。你已经尝试了什么,你的预期输出是什么 – StackUser

0

整数变量只能存储-2,147,483,6482,147,483,647之间的值。

在你的情况,你试图乘以两个六位数字的数字是(123456 * 123456)= 15241383936(否则落在整数限制之间)。所以这就是为什么你应该使用SQL Server BIGINT数据类型CAST或CONVERT函数。始终搜索MSDN

0

我得到了解决, 选择投(234561为数字(10,0))*投​​(622541为数字(10,0))