【发布时间】:2011-03-01 05:55:55
【问题描述】:
在 SQL Server 2005 Express 中,结果如下
选择 100 / 15 --结果 6
但我想得到近似值 7(比如使用计算器)
100 / 15 = 6.6666..
如何在 SQL Server 中制作?
【问题讨论】:
-
现在我明白了。谢谢大家:)。选择回合(100 / 15.00,0)
在 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
【讨论】: