0

私は次のようなクエリがあります

SELECT
    some_field,
    SUM(float_field)
FROM
    some_table
GROUP BY
    some_field
HAVING
    SUM(float_field) <> 0

Oracleでこのような比較方法を使用するのは安全ですか、それとも次のようなものを使用する方がよいですか。

ABS(SUM(float_field)) < PrecisionConstant

念のため、float_fieldはFLOATタイプのnull許容フィールドではありません

4

1 に答える 1

0

この式HAVING SUM(float_field) <> 0は、SUMが0.1または-0.2のようになるレコードを制限しません。

これを実現する場合は、次の式を使用します。

HAVING TRUNC(SUM(float_field)) <> 0
于 2012-10-27T15:34:33.833 に答える