
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ć.
Inny ciekawy artykuł:
Jak działa CONVERT w języku SQL? Przykłady zastosowania
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.