Baza wiedzy / SQL
Jak działa ROUND w języku SQL? Przykłady zastosowania

Funkcja ROUND w SQL to jedno z tych narzędzi, bez których trudno sobie wyobrazić operacje na liczbach zmiennoprzecinkowych. Za jej pomocą mogę zaokrąglać liczby do określonej liczby miejsc po przecinku, co przydaje się w raportowaniu, prezentacji danych czy analizie finansowej. W tym artykule przyjrzymy się szczegółowo, jak działa ROUND w języku SQL i jakie ma zastosowania.
Podstawowa składnia funkcji ROUND
Funkcja ROUND ma stosunkowo prostą składnię:
ROUND(liczba, liczba_miejsc)
Gdzie:
liczba– wartość numeryczna, którą chcę zaokrąglić,liczba_miejsc– określa, do ilu miejsc po przecinku liczba ma być zaokrąglona.
Przykład:
SELECT ROUND(123.456, 2);
Wynik:
123.46
Zaokrąglanie liczb całkowitych
Gdy jako drugi argument funkcji ROUND podam wartość 0, liczba zostanie zaokrąglona do najbliższej liczby całkowitej.
SELECT ROUND(7.8, 0);
Wynik:
8
Podobnie działa to w przypadku wartości ujemnych:
SELECT ROUND(-3.5, 0);
Wynik:
-4
Zaokrąglanie do wartości większych niż 0
Mogę również zaokrąglić liczbę do kilku miejsc po przecinku:
SELECT ROUND(45.6789, 3);
Wynik:
45.679
Zaokrąglanie do dziesiątek, setek i tysięcy
Nie każdy wie, ale ROUND pozwala też na zaokrąglanie do dziesiątek, setek i większych wartości. Wystarczy użyć wartości ujemnej jako drugiego argumentu.
SELECT ROUND(1234, -2);
Wynik:
1200
W ten sposób liczba 1234 została zaokrąglona do pełnych setek.
Różnice między SQL Server, MySQL i PostgreSQL
W różnych bazach danych ROUND działa podobnie, ale są niewielkie różnice. Na przykład w SQL Server mogę podać trzeci opcjonalny argument, który wymusza odcięcie wartości zamiast klasycznego zaokrąglania.
SELECT ROUND(123.456, 2, 1);
W tym przypadku wynik wynosi 123.45, ponieważ zamiast klasycznego zaokrąglenia następuje “obcięcie” wartości.
W MySQL i PostgreSQL funkcja ROUND nie obsługuje trzeciego argumentu i działa tylko w podstawowym zakresie.
Praktyczne zastosowania funkcji ROUND
W świecie baz danych funkcja ROUND przydaje się w wielu miejscach, między innymi:
- Podczas wyświetlania wyników obliczeń finansowych (np. ceny, podatki).
- W raportach, gdzie liczby muszą być prezentowane w estetycznej formie.
- Podczas konwersji wartości do określonych zakresów (np. grupowanie danych).
Poniżej znajduje się tabela przedstawiająca przykładowe operacje z funkcją ROUND oraz ich wyniki:
| Zapytanie SQL | Wynik |
|---|---|
SELECT ROUND(15.678, 2); |
15.68 |
SELECT ROUND(99.99, 0); |
100 |
SELECT ROUND(1234, -2); |
1200 |
SELECT ROUND(-4.4, 0); |
-4 |
Podsumowanie
Funkcja ROUND w SQL jest niezwykle przydatna i łatwa w użyciu. Pozwala zarówno zaokrąglać liczby do określonej liczby miejsc po przecinku, jak i do setek czy tysięcy. Warto pamiętać, że niektóre systemy baz danych oferują dodatkowe opcje, które wpływają na sposób zaokrąglania.
Podsumowując, jeśli pracuję z danymi liczbowymi i zależy mi na kontrolowaniu precyzji wyników, ROUND jest jedną z głównych funkcji, którą warto znać i stosować.
