5

在 SQL Server 2005 Express 中,结果如下

选择 100 / 15 --结果 6

但我想得到近似值 7(比如使用计算器)

100 / 15 = 6.6666..

如何在 SQL Server 中实现?

4

4 回答 4

13

您必须使用十进制数,例如 100 / 15.0。如果使用整数,则结果将被解释为整数并截断为小于或等于结果的最大整数。

于 2011-03-01T05:59:13.533 回答
7

SELECT cast(100 作为浮点数) / (15 作为浮点数)

于 2013-05-11T15:12:41.563 回答
4

您希望 SQL Server 执行浮点除法,而不是整数除法。如果您使用文字值(如示例中所示),请在分母后加.0以强制 SQL Server 将其视为浮点值。

SELECT 100 / 15.0

否则,请确保将变量声明为FLOAT.

于 2011-03-01T05:59:55.660 回答
2

尝试将变量声明为浮点数:

DECLARE @var1 FLOAT
DECLARE @var2 FLOAT
SET @var1 = 100
SET @var2 = 15
SELECT @var1 / @var2
于 2011-03-01T05:59:40.467 回答