我有这张表,我将用随机数字填充:
|--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%]
从表 2
我得到以下
|--week--||-2016-||-2017-| variance%
| 1 || 26734||6314916|0
| 2 || 64565||9876768|0
| 3 || 32243||9976757|0
当我的另一个表提供差异的实际结果时,为什么我得到零?
您需要做的就是将您的 INT 塑造成浮点值。像这样的事情:
select
CAST(ROUND(sum (([2017]*1.0) /(([2016]))-1)*100, 0) as NUMERIC(36,0)) as [variance%]
阅读此堆栈交换答案以了解更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句