DIV0 および DIV0NULL: 出力スケールを超える結果への変更

注意

この動作変更は2023_08バンドルにあります。

バンドルの現在のステータスについては、 バンドル履歴 をご参照ください。

DIV0 および DIV0NULL 関数の場合、除算結果が出力目盛を超えたとき:

変更前

DIV0 および DIV0NULL は出力を切り捨てます。

これは除算演算子 (/) を使った結果と矛盾します。

変更後

DIV0 および DIV0NULL は 出力の半数を切り上げます

これは除算演算子 (/) を使った結果と一致します。

例えば、5を9で割るとします。

SELECT DIV0(5, 9), DIV0NULL(5, 9), 5/9;
Copy
変更前

DIV0 および DIV0NULL は結果を0.555555に切り捨て、除算演算子は0.555556に切り上げます。

+------------+----------------+----------+
| DIV0(5, 9) | DIV0NULL(5, 9) |      5/9 |
|------------+----------------+----------|
|   0.555555 |       0.555555 | 0.555556 |
+------------+----------------+----------+
変更後

DIV0 、 DIV0NULL 、および除算演算子は、結果を0.555556に切り上げます。

+------------+----------------+----------+
| DIV0(5, 9) | DIV0NULL(5, 9) |      5/9 |
|------------+----------------+----------|
|   0.555556 |       0.555556 | 0.555556 |
+------------+----------------+----------+

参照: 1400