5

ビッグデータをデータベースにロードしていますが、

このプロセスがどのように進んでいるのか知りたいです。

私が使う

select count(*) from table

ロードされた行数を確認します。そして今、私はプロセスの割合を取得したいと考えています。私は試した:

select ( count(*)/20000 ) from table

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

しかし、それらはすべて 0 を返します。

どうすればこれを行うことができますか?

パーセンテージを表示できればさらに良いです。

ありがとう

4

2 に答える 2

5

整数除算は整数を返し、小数部分は切り捨てられます。で割ることができます20000.0:

select ( count(*)/20000.0 ) from table

Demo

MSDN / (除算)

整数の被除数を整数の除数で除算すると、結果は小数部分が切り捨てられた整数になります。

于 2013-09-25T21:42:53.710 に答える
1
Select CONVERT(DECIMAL(6,4),COUNT(*)) / CONVERT(DECIMAL(6,4),20000) FROM TABLE

- すべての数値が整数であるとは限らず、すべての小数が同じであるとは限らないため、型を明示的に一致させることが重要です。DECIMAL(6,4) は事実上、DECIMAL(6,3) とは異なる独自のデータ型です。

于 2013-09-25T21:47:45.167 に答える