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

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ć.

 

Inny ciekawy artykuł:

Jak działa CONVERT w języku SQL? Przykłady zastosowania

KajoDataSpace