Afrondingsproblemen in decimale cijfers in SQL

Schrijver: John Pratt
Datum Van Creatie: 10 Januari 2021
Updatedatum: 22 November 2024
Anonim
Basisvaardigheden SQL Query’s schrijven - Module introductie
Video: Basisvaardigheden SQL Query’s schrijven - Module introductie

Inhoud

De SQL-taal rondt automatisch aantallen af ​​als de tabelkolom waarin u wilt opslaan alleen een bepaalde precisie van decimalen toestaat. U kunt met precisieproblemen werken met behulp van de SQL "ronde" -functie. Met deze functie kunt u bepalen hoe SQL de numerieke waarden in de databasetabellen opslaat.


Leer hoe u getallen in SQL kunt ronden (Hemera Technologies / AbleStock.com / Getty Images)

probleem

U zult het probleem van de afronding van de SQL opmerken als u naar de gegevens in de tabellen kijkt. De weergegeven numerieke waarde is niet dezelfde als degene die u hebt opgeslagen met de opdracht "Insert". Met de gegevenstypen van de SQL-kolommen kunt u de precisie van de komma instellen. Als u slechts twee decimalen wilt hebben en probeert een getal met drie op te slaan, rondt SQL de waarde af.

Tabelstructuur

U kunt het gegevenstype van een kolom wijzigen met behulp van een SQL-tabeleditor. U kunt uw tabellen bewerken in Microsoft SQL Server Management Studio, die wordt geleverd met SQL Server. Klik met de rechtermuisknop op de tafel en kies "Wijzigen". Selecteer de precisie in de kolom met gegevenstypelijst om het aantal decimalen te vergroten en het afrondingsprobleem te corrigeren.


Ronde functie

Als u het gegevenstype van de tabel niet wilt wijzigen, gebruikt u de afrondingsfunctie om het numerieke opslaggedrag te wijzigen. Round up, down of laat de functie standaard decimale waarden afronden. Bijvoorbeeld, de volgende code rondt af:

rond (kolom, 2, -1)

Deze functie rondt in twee decimalen af, altijd naar boven. Als u de parameter "-1" verwijdert, zorgt SQL ervoor dat de standaardafronding wordt uitgevoerd, dat wil zeggen hoger als de waarde groter is dan of gelijk is aan "5" en lager als de waarde lager is.

overwegingen

Wanneer u het afrondingsgedrag in SQL wijzigt, moet u ook elke kolom controleren die een som van afgeronde getallen heeft. Deze kolom heeft een onjuiste waarde, dus u moet de som herberekenen om eventuele fouten te corrigeren.