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;
- 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