我正在2008 SQLServer的按下表:小数四舍五入合并?
id user program seconds
------------------------------------
9999 'user01' 'pr01' 5
列“秒”被定义为一个十进制(14,0)和在表中的唯一的行是示出的一个。
所以我尝试了一些疑问:
Q1:
select seconds*0.95 from myTable
union all
select seconds from myTable
它给我希望得到的结果:
4.75
5.00
Q2:
select sum(seconds)*0.95 from myTable
union all
select sum(seconds) from myTable
我期待与Q1相同的结果,但结果LT我得到的是:
5
5
Q3:
select sum(seconds)*0.95 from myTable
union all
select sum(seconds)*1.00 from myTable
在这种情况下,我得到的结果我想到:
4.75
5.00
所以,我想知道为什么Q2是没有得到预期的结果。
我试过同样的例子,'秒'是小数(2,0),工作正常,所以我想它与小数的大小有关,但在这种情况下,我不明白为什么Q1和Q3工作而Q2则没有。
我试着用十进制(2,0),它似乎并没有工作 –