SQL中的CEILING不返回正确的值

时间:2015-02-19 06:04:58

标签: sql sql-server

T-SQL中的

CEILING在SQL Server 2012中没有返回正确的值。请参阅下面的详细信息。

select CEILING(0.3333333333333333)

结果:1​​

但我想根据列数进行计算。内部计算如下。

select CEILING((17 - 2) / 45)

结果:0

(17 - 2) / 45 = 0.33333

但是

select CEILING((17 - 2) / 45) 

返回零

我想得到一个结果。我该怎么办?

1 个答案:

答案 0 :(得分:0)

以整数除法结束。所以

  

15/45 = 0

尝试将操作数中的至少一个cASTing为十进制,

SELECT CEILING((17-2)/CAST(45 AS DECIMAL (4,2))

或者喜欢,

SELECT CEILING(15,45.0)