SQL 2017使用“ FLOOR”函数进行十进制舍入

时间:2019-10-22 11:31:00

标签: sql-server-2017

我一直在用不同的数字计算不同的整数百分比,但是每次我得到下舍入后的数字。选择13 * 100/60给我21,实际数字为21.66,使用舍入函数应该给我们22,但对于所有不同的十进制数字它只能给我21。

我正在使用SQL2017。请帮助

1 个答案:

答案 0 :(得分:0)

这是由于您要除mediaPlayer.setWakeMode(context, PowerManager.PARTIAL_WAKE_LOCK); 而不是浮点数而引起的。 整数除法返回整数

请尝试以下操作(在60末尾注意int):

.0

为组件之一添加浮点数将自动将结果输出为浮点数。

输出:

SELECT 13 * 100 / 60.0

偶然地,如果您正在使用变量,并且其中一个是21.666666 ,它将自动产生您期望的输出:

FLOAT

输出:

DECLARE @A FLOAT
DECLARE @B INT
DECLARE @C INT

SET @A = 13
SET @B = 100
SET @C = 60

SELECT @A * @B / @C