DIV0 et DIV0NULL : changement pour les résultats dépassant l’échelle de sortie

Attention

Ce changement de comportement est présent dans le bundle 2023_08.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

Pour les fonctions DIV0 et DIV0NULL, lorsque le résultat de l’opération de division dépasse l’échelle de sortie :

Avant la modification:

DIV0 et DIV0NULL tronquent la sortie.

Cela ne correspond pas aux résultats obtenus en utilisant l’opérateur de division (/).

Après la modification:

DIV0 et DIV0NULL arrondissent la sortie à la moitié de zéro.

Ceci est cohérent avec les résultats obtenus en utilisant l’opérateur de division (/).

Par exemple, supposons que vous divisiez 5 par 9 :

SELECT DIV0(5, 9), DIV0NULL(5, 9), 5/9;
Copy
Avant la modification:

DIV0 et DIV0NULL tronquent le résultat à 0,555555, tandis que l’opérateur de division arrondit le résultat à 0,555556.

+------------+----------------+----------+
| DIV0(5, 9) | DIV0NULL(5, 9) |      5/9 |
|------------+----------------+----------|
|   0.555555 |       0.555555 | 0.555556 |
+------------+----------------+----------+
Après la modification:

DIV0, DIV0NULL, et l’opérateur de division arrondissent le résultat à 0,555556.

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

En outre, le fait de transmettre plus de deux arguments aux fonctions DIV0 et DIV0NULL entraîne une exception.

Avant la modification:

Bien que les fonctions DIV0 et DIV0NULL ne prennent en charge que deux arguments, vous pouvez transmettre des arguments supplémentaires.

Les fonctions ignorent les arguments supplémentaires.

Après la modification:

La transmission de plus de deux arguments aux fonctions DIV0 et DIV0NULL entraîne l’exception suivante :

000939 (22023): SQL compilation error: ...
  too many arguments for function [DIV0] expected 2, got 3

Réf : 1400