1

この選択が3.5ではなく3.0を返す理由を誰かが言うことができます:

SELECT coalesce(1.0*(7/2),0) as foo

これは3を返します。

SELECT coalesce(7/2,0) as foo

SUMをCOUNTで割って、平均を求めようとしています。nullの場合は0、結果がある場合は1を小数点以下1桁で四捨五入する必要があります。

4

3 に答える 3

4

さて、7/2は整数1.0は数値など1.0*(7/2)==1.0 * 3 == 3.0です。

于 2012-08-23T20:20:13.273 に答える
4

次のようなことをする必要があります:

SELECT COALESCE((1.0 * 7)/2, 0) AS foo;
于 2012-08-23T20:28:59.043 に答える
0

これは気分が良くなります:

select 7.0/2.0;
--------------------
 3.5000000000000000
于 2014-01-05T02:35:24.783 に答える