在 SQL Server 2005 Express 中,结果如下
选择 100 / 15 --结果 6
但我想得到近似值 7(比如使用计算器)
100 / 15 = 6.6666..
如何在 SQL Server 中实现?
在 SQL Server 2005 Express 中,结果如下
选择 100 / 15 --结果 6
但我想得到近似值 7(比如使用计算器)
100 / 15 = 6.6666..
如何在 SQL Server 中实现?
您必须使用十进制数,例如 100 / 15.0。如果使用整数,则结果将被解释为整数并截断为小于或等于结果的最大整数。
SELECT cast(100 作为浮点数) / (15 作为浮点数)
您希望 SQL Server 执行浮点除法,而不是整数除法。如果您使用文字值(如示例中所示),请在分母后加.0
以强制 SQL Server 将其视为浮点值。
SELECT 100 / 15.0
否则,请确保将变量声明为FLOAT
.
尝试将变量声明为浮点数:
DECLARE @var1 FLOAT
DECLARE @var2 FLOAT
SET @var1 = 100
SET @var2 = 15
SELECT @var1 / @var2