Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Vrací číselnou hodnotu, zaokrouhlenou na zadanou délku nebo přesnost.
Syntaxe
ROUND ( numeric_expression , length [ , function ] )
Arguments
numeric_expression
Výraz pro přesnou numerickou nebo aproximativní číselnou datovou kategorii.
length
Přesnost, na kterou numeric_expression má být zaokrouhlena. Délka musí být výrazem typu tinyint, smallint nebo int. Pokud je délka kladné číslo, numeric_expression se zaokrouhluje na počet desetinných pozic určených délkou. Když je délka záporné číslo, numeric_expression je zaokrouhleno na levé straně desetinné čárky, jak je určeno délkou.
funkce
Typ operace, kterou provádět.
funkce musí být tinyint, smallint nebo int. Když je funkce vynechána nebo má hodnotu ( 0 výchozí), numeric_expression je zaokrouhlena. Když je uvedena jiná hodnota 0 , numeric_expression se zkrátí.
Návratové typy
Vrátí následující datové typy.
| Výsledek výrazu | Návratový typ |
|---|---|
| tinyint | int |
| smallint | int |
| int | int |
| bigint | bigint |
| desetinná a číselná kategorie (p, s) | desetinné (p, s) |
| Kategorie peněz a drobných peněz | peníze |
| Floata reálná kategorie | float |
Poznámky
ROUNDvždy vrátí hodnotu. Pokud je délka záporná a větší než počet číslic před desetinnou čárkou,ROUNDvrátí .0Example Result ROUND(748.58, -4)0 ROUNDvrací zaokrouhlený numeric_expression, bez ohledu na typ dat, pokud délka je záporné číslo.Examples Result ROUND(748.58, -1)750.00 ROUND(748.58, -2)700,00 ROUND(748.58, -3)Výsledkem je aritmetický přetečení, protože 748,58 se výchozí nastaví na desetinné(5, 2), což nemůže vrátit 1000.00.Pro zaokrouhlení na čtyři číslice změňte typ dat vstupu. Například:
SELECT ROUND(CAST (748.58 AS DECIMAL (6, 2)), -3);Tady je soubor výsledků.
1000.00ROUNDRozděluje remízy zaokrouhlováním od nuly na polovinu (také známé jako komerční zaokrouhlování).Examples Result ROUND(1.15, 1)1.2 ROUND(-1.15, 1)-1.2
Examples
A. Použijte ROUND a odhady
Následující příklad ukazuje dva výrazy, které ukazují, že použitím ROUNDje poslední číslice vždy odhadem.
SELECT ROUND(123.9994, 3),
ROUND(123.9995, 3);
GO
Tady je soubor výsledků.
----------- -----------
123.9990 124.0000
B. Použijte ROUND a zaokrouhlovací aproximace
Následující příklad ukazuje zaokrouhlování a aproximace.
SELECT ROUND(123.4545, 2),
ROUND(123.45, -2);
Tady je soubor výsledků.
---------- ----------
123.4500 100.00
C. Použijte ROUND pro zkrácení
Následující příklad používá dvě SELECT tvrzení k demonstraci rozdílu mezi zaokrouhlováním a okrájením. První tvrzení zaokrouhluje výsledek. Druhý výrok výsledek zkracuje.
SELECT ROUND(150.75, 0);
GO
Tady je soubor výsledků.
151.00
SELECT ROUND(150.75, 0, 1);
GO
Tady je soubor výsledků.
150.00