SELECT CAST ((SUM(r.SalesVolume)/1000) AS decimal(3,3)) FROM RawData r
以上是我尝试运行的查询的一部分但返回错误:
Lookup Error - SQL Server Database Error: Arithmetic overflow error converting int to data type numeric.
不确定这意味着什么。 结果列看起来像(没有除以1000并且转换):
Total_Sales_Volume
64146
69814
68259
56318
66585
51158
44365
49855
49553
88998
102739
55713
尝试将其作为浮动但不起作用。
答案 0 :(得分:5)
问题是decimal(3,3)
- >这意味着一个3位数的数字,其中3位在小数点后面。如果您想要这样的数字1234567.123
,您可以将其声明为decimal(10,3)
答案 1 :(得分:2)
试试这个:
SELECT CAST ((SUM(r.SalesVolume)/1000.0) AS decimal(6,3)) FROM RawData r
答案 2 :(得分:2)
total = total + parseInt(amount);
表示您允许3位数的数字,其中3位在逗号后面......我认为您的意思是decimal(3,3)
编辑:此外,您需要除以decimal(6,3)
,而不是1000.0
。
1000
,则为整数除法。 1000
,则它将成为带有逗号的十进制除法。 答案 3 :(得分:0)
请尝试以下操作:
SELECT CAST ((SUM(r.SalesVolume)/1000) AS numeric(6,3)) FROM RawData r