【问题标题】:Divide in SQL ServerSQL Server 中的划分
【发布时间】: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 divide


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      SELECT 100 / 15.0
      

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

      【讨论】:

        【解决方案4】:

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

        DECLARE @var1 FLOAT
        DECLARE @var2 FLOAT
        SET @var1 = 100
        SET @var2 = 15
        SELECT @var1 / @var2
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-05-02
          • 2017-02-01
          • 1970-01-01
          • 2021-03-22
          • 1970-01-01
          • 2020-10-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多