【问题标题】:How to use count(*) and Division Operation in SQL statementsSQL语句中如何使用count(*)和除法运算
【发布时间】:2013-09-25 21:41:21
【问题描述】:

我正在将大数据加载到数据库中,

我想知道这个过程是如何进行的。

我用

select count(*) from table

检查加载了多少行。 现在我想获得该过程的百分比。 我试过了:

select ( count(*)/20000 ) from table

select cast(  ( count(*)/20000 )  as DECIMAL(6,4)  ) from table

但它们都返回 0 ,

那我该怎么做呢?

如果能显示百分比就更好了。

谢谢

【问题讨论】:

    标签: sql


    【解决方案1】:

    整数除法返回整数,小数部分被截断。你可以除以20000.0:

    select ( count(*)/20000.0 ) from table
    

    Demo

    MSDN / (Divide)

    如果一个整数被除数除以一个整数除数,结果是 结果的任何小数部分被截断的整数。

    【讨论】:

      【解决方案2】:
      Select CONVERT(DECIMAL(6,4),COUNT(*)) / CONVERT(DECIMAL(6,4),20000) FROM TABLE
      

      - 显式匹配类型很重要,因为并非所有数字都是整数,也不是所有小数都相同。 DECIMAL(6,4) 实际上是它自己的数据类型,与 DECIMAL(6,3) 不同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        • 1970-01-01
        • 2012-12-02
        • 1970-01-01
        • 1970-01-01
        • 2012-10-20
        • 2017-03-11
        相关资源
        最近更新 更多