Dette er en særegenhet ved SQL-motoren som driver spørringene våre. Når en beregning (for eksempel SUM) utføres på flere desimaltyper med forskjellige verdier, tvinges verdiene til en felles type og avrundes. Spesielt negative verdier kan føre til tap av presisjon - og gi forskjellige søkeresultater for hver kjøring.
For å unngå dette anbefaler vi at du justerer bestillingen slik at cast-funksjonen utføres før beregningen.
Denne klausulen kan for eksempel gi inkonsistente resultater:
SELECT
CAST(SUM("XY"."X") AS DECIMAL(1,1)) AS "X"
Men denne klausulen vil gi samme resultat hver gang:
SELECT
SUM(CAST(("XY"."X") SOM DESIMAL(1,1))) AS "X"