Udostępnij za pośrednictwem


ROUND (Transact-SQL)

Zwraca wartość liczbową, zaokrągloną do określonej długości lub precyzji.

Topic link iconKonwencje składni języka Transact-SQL

ROUND ( numeric_expression , length [ ,function ] )

Argumenty

  • numeric_expression
    Is wyrażenie kategorii typu dokładne dane liczbowe numerycznych lub przybliżonej, z wyjątkiem bit Typ danych.

  • length
    Is the precision to which numeric_expression is to be rounded.length must be an expression of type tinyint, smallint, or int.Kiedy length jest liczbą dodatnią, numeric_expression jest zaokrąglana do liczby dziesiętnej pozycji określonej przez length. Kiedy length jest liczbą ujemną numeric_expression zaokrągla się po lewej stronie przecinka dziesiętnego w sposób określony przez length.

  • function
    Is the type of operation to perform.function must be tinyint, smallint, or int.Kiedy function argument zostanie pominięty lub ma wartość 0 (domyślnie) numeric_expression jest zaokrąglana. Jeżeli określono wartość inną niż 0 numeric_expression zostanie obcięta do liczby całkowitej.

Zwracane typy

Zwraca wartość tego samego typu co numeric_expression*.*

Remarks

ZAOKRĄGLONE zawsze zwraca wartość.Jeśli length jest ujemny i większy niż liczba cyfr przed dziesiętny, OKRĄGŁE zwraca wartość 0.

Przykład

Wynik

ROUND(748.58,-4)

0

ROUND zwraca zaokrąglony numeric_expression, niezależnie od typu danych, gdy length jest liczbą ujemną.

Przykłady

Wynik

ROUND(748.58,-1)

750.00

ROUND(748.58,-2)

700.00

ROUND(748.58,-3)

1000.00

Przykłady

A.Za pomocą ROUND i oszacowań

W poniższym przykładzie przedstawiono dwa wyrażenia, które wskazują za pomocą ROUND Ostatnia cyfra jest zawsze szacowania.

SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO

Here is the result set.

----------- -----------
123.9990    124.0000    

B.Za pomocą ROUND i zaokrąglania przybliżeń

W poniższym przykładzie pokazano zaokrąglania i przybliżeń.

SELECT ROUND(123.4545, 2);
GO
SELECT ROUND(123.45, -2);
GO

Here is the result set.

----------

123.4500

(1 row(s) affected)

--------

100.00

(1 row(s) affected)

C.Za pomocą ROUND do obcinania

W poniższym przykładzie użyto dwóch SELECT instrukcje do wykazania, różnica zaokrąglania i obcinania. Pierwsza instrukcja zaokrągla wyniki.Druga instrukcja obcina wynik.

SELECT ROUND(150.75, 0);
GO
SELECT ROUND(150.75, 0, 1);
GO

Here is the result set.

--------
151.00

(1 row(s) affected)

--------
150.00

(1 row(s) affected)