SQL Server 2014更新数字而不进行舍入

时间:2018-01-14 12:35:21

标签: sql-server-2014

在我的SQL Server 2014项目中,我正在使用

动态创建一个表
select  
    Region_Code, 
    '9999999' as [Avg Time to Dispatch in Minutes],
    999999999.9999 as [Avg Time to Dispatch in Hours]
from
    table1
into 
    TempTable1

我注意到当我查看此表的设计视图时,我创建了第3列的类型为Numeric(13,4)

然后我用真实值更新此表并获取:

region      AvgTimeToDispatchInMinutes  AvgTimeToDispatchInHours
Maine       393                         999999999.9999

我希望得到AvgTimeToDispatchInHours所以我这样做:

UPDATE TempTable1
SET [Avg Time to Dispatch in Hours] = [Avg Time to Dispatch in Minutes] / 60

我得到6.00而不是6.6,这就是我想要的。

如何获得6.6或未被舍入的数字?

1 个答案:

答案 0 :(得分:0)

您正在进行整数除法:

SELECT 393 / 60
如你所说,

会产生6(因为它回答了这个问题:完全可以在393中完成多少次?)。

如果您需要小数值,则需要将所涉及的数字中的至少一个转换为小数类型,例如decimal - 最简单的就是这样:

SELECT 393 / 60.0

按预期返回6.55