如何在SQL语句中使用count(*)和Division Operation

时间:2013-09-25 21:41:22

标签: sql

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

我想知道这个过程是怎么回事。

我用

select count(*) from table

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

select ( count(*)/20000 ) from table

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

但他们都返回0,

所以我该怎么做?

如果可以显示百分比,那就更好了。

感谢

2 个答案:

答案 0 :(得分:3)

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

select ( count(*)/20000.0 ) from table

Demo

MSDN / (Divide)

  

如果整数被除数除以整数除数,则结果为   截断结果的任何小数部分的整数。

答案 1 :(得分:1)

Select CONVERT(DECIMAL(6,4),COUNT(*)) / CONVERT(DECIMAL(6,4),20000) FROM TABLE

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