Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Geeft een numerieke waarde terug, afgerond op de opgegeven lengte of precisie.
Transact-SQL syntaxis-conventies
Syntaxis
ROUND ( numeric_expression , length [ , function ] )
Arguments
numeric_expression
Een uitdrukking van de exacte numerieke of benaderende numerieke datatypecategorie.
length
De precisie waarmee numeric_expression afgerond moet worden. lengte moet een uitdrukking zijn van het type tinyint, smallint of int. Wanneer lengte een positief getal is, wordt numeric_expression afgerond op het aantal decimale posities dat door lengte is gespecificeerd. Wanneer lengte een negatief getal is, wordt numeric_expression afgerond aan de linkerkant van het decimale punt, zoals aangegeven door lengte.
functie
Het soort operatie dat uitgevoerd moet worden.
Functie moet Tinyint, Smallint of Int. Wanneer de functie wordt weggelaten of een waarde van 0 (standaard) heeft, wordt numeric_expression afgerond. Wanneer een andere waarde dan 0 wordt gespecificeerd, wordt numeric_expression afgekapt.
Retourtypen
Geeft de volgende datatypes terug.
| Expressieresultaat | Resultaattype |
|---|---|
| tinyint | int |
| smallint | int |
| int | int |
| bigint | bigint |
| Decimale en numerieke categorie (P, S) | Decimaal(P, S) |
| Geld- en kleingeldcategorie | geld |
| float en reële categorie | float |
Opmerkingen
ROUNDGeeft altijd een waarde terug. Als de lengte negatief is en groter dan het aantal cijfers vóór het decimale punt,ROUNDgeeft dit .0Example Resultaat ROUND(748.58, -4)0 ROUNDgeeft een afgerond numeric_expression terug, ongeacht het datatype, wanneer de lengte een negatief getal is.Voorbeelden Resultaat ROUND(748.58, -1)750,00 ROUND(748.58, -2)700.00 ROUND(748.58, -3)Resulteert in een rekenkundige overloop, omdat 748,58 standaard naar decimaal(5, 2) gaat, wat niet kan teruggeven 1000.00.Om af te ronden tot vier cijfers, verander je het datatype van de invoer. Voorbeeld:
SELECT ROUND(CAST (748.58 AS DECIMAL (6, 2)), -3);Hier is het resultatenoverzicht.
1000.00ROUNDBreekt gelijke stand door de helft van nul af te ronden (ook bekend als commerciële afronding).Voorbeelden Resultaat ROUND(1.15, 1)1.2 ROUND(-1.15, 1)-1.2
Voorbeelden
Eén. Gebruik ROUND en schattingen
Het volgende voorbeeld toont twee uitdrukkingen die aantonen door te gebruiken ROUND, het laatste cijfer is altijd een schatting.
SELECT ROUND(123.9994, 3),
ROUND(123.9995, 3);
GO
Hier is het resultatenoverzicht.
----------- -----------
123.9990 124.0000
B. Gebruik ROUND- en afrondingsbenaderingen
Het volgende voorbeeld toont afronding en benaderingen.
SELECT ROUND(123.4545, 2),
ROUND(123.45, -2);
Hier is het resultatenoverzicht.
---------- ----------
123.4500 100.00
C. Gebruik ROUND om te truncten
Het volgende voorbeeld gebruikt twee SELECT statements om het verschil tussen afronding en afkap aan te tonen. De eerste uitspraak rondt het resultaat af. De tweede uitspraak kortte het resultaat af.
SELECT ROUND(150.75, 0);
GO
Hier is het resultatenoverzicht.
151.00
SELECT ROUND(150.75, 0, 1);
GO
Hier is het resultatenoverzicht.
150.00