SQL språk automatisk runder data, hvis tabellen kolonnen hvor du oppbevarer data kun åpner for en viss desimaltegn presisjon verdi. Du kan arbeide med avrunding problemer med å bruke den "runde "-funksjonen i SQL. Denne funksjonen lar deg kontrollere måten SQL lagrer tallverdier i databasen tabeller. Problem
Du merker SQL avrunding problem når du ser på data i tabellene . Tallverdien vises, ikke er det samme som det du skrev i din database " insert " søket . SQL er kolonnedatatyper tillate deg å sette presisjonen for desimaltegnet . Hvis du bare åpner for to desimaler , og du prøver å skrive inn tre , SQL runder verdien .
Table Design
Du kan endre datatypen for kolonnen i SQL tabellen designer . Du designe dine tabeller i Microsoft SQL Server Management Studio , som er inkludert med SQL Server -motoren . Du høyreklikker du tabellen i designer og velg " Endre. " Du velger en presisjon punkt i datatype kolonnen drop- down å utvide antall desimaler og fikse avrunding problemet.
Round funksjon
p Hvis du ikke ønsker å endre datatypen for SQL- tabell, bruker den runde funksjonen for å endre atferden til den numeriske lagring. Runde opp , ned eller la den runde funksjon utføre normal avrunding av desimaltall . For eksempel følgende kode runder til neste høyeste antall : en
runde ( kolonne 2 , -1 )
Denne funksjonen avrunder til to desimaler , men det alltid runder opp . Fjerne -1 parameter lar SQL utføre normal avrunding , så det runder opp for verdiene av 5 og høyere og runder ned til et tall under 5 .
Hensyn
Når du endrer avrunding funksjon i SQL , må du også kontrollere eventuelle kolonner som samlet de avrundede tall. Den ble kolonnen vil ha feil verdier , så du må regne sammen avrundede tallene på nytt for å rette opp eventuelle feil .