【问题标题】:Using T-SQL how do you calculate a test grade percentage?使用 T-SQL 如何计算考试成绩百分比?
【发布时间】:2010-09-28 15:05:10
【问题描述】:

这应该是一个简单的任务,或者是一个简单的谷歌搜索,我都没有找到。我试图简单地计算成绩百分比。我正在尝试使用:

Select round((133 / 150), 2) * 100

结果为 0。我试图计算得到 89% 的分数。我尝试了多种组合,我开始认为使用 t-sql 太复杂或者不可能。我错过了什么?

【问题讨论】:

    标签: sql sql-server tsql integer-division


    【解决方案1】:

    试试这个:

    Select round((cast(133 as numeric(20,8))/ cast(150 as numeric(20,8))) * 100, 2)
    

    当您需要十进制值时,您在示例中使用整数。请参阅here 了解更多信息。

    【讨论】:

      【解决方案2】:

      试试:

      Select round(133.0 / 150) * 100 
      

      int 除以intint,并且 1 / 2 = 0(整数截断)

      更一般地说,如果您确保分子是浮点数(实数/十进制):

      Select round(CAST(integervalue as real) / 150) * 100 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-26
        • 2012-05-08
        • 1970-01-01
        • 2010-10-20
        • 2020-10-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多