我有这张桌子,我将填充随机数字:
|--week--||-2016-||-2017-|
| 1 || 26734||6314916|
| 2 || 64565||9876768|
| 3 || 32243||9976757|
我想要做的是创建第四列,基本上是这些数字的差异。 我创建了下面的脚本,我知道这个脚本是从另一个表创建的,除了它们中的数字之外,这些表之间没有区别。
select CAST(ROUND(sum (([2017]) /(([2016]))-1)*100, 0) as NUMERIC(36,0)) as [variance%]
来自table2
我得到以下
|--week--||-2016-||-2017-| variance%
| 1 || 26734||6314916|0
| 2 || 64565||9876768|0
| 3 || 32243||9976757|0
为什么我在另一张表中提供零差异的实际结果时会得到零?
答案 0 :(得分:1)
您需要做的就是将您的INT塑造成浮动值。像这样:
select
CAST(ROUND(sum (([2017]*1.0) /(([2016]))-1)*100, 0) as NUMERIC(36,0)) as [variance%]
阅读this stack exchange回答了解更多信息。