
Wielokrotnie podczas pracy z bazami danych spotykam się z potrzebą wykonywania operacji matematycznych w SQL. Jedną z mniej znanych, ale przydatnych funkcji jest LOG. Działa ona podobnie do logarytmu znanego z matematyki, ale w świecie SQL ma swoje specyficzne zastosowania. W tym artykule szczegółowo wyjaśniam, jak działa LOG w języku SQL oraz w jakich sytuacjach może się przydać.
Co to jest LOG w SQL?
Funkcja LOG
w SQL służy do obliczania logarytmu liczby. W zależności od bazy danych, jej działanie może mieć nieco inne niuanse, ale ogólny koncept pozostaje ten sam – służy do obliczania logarytmu w matematycznym sensie.
Najczęściej spotykane wersje tej funkcji to:
LOG(n)
– domyślnie logarytm naturalny (logarytm o podstawiee
).LOG(b, n)
– logarytm z podstawąb
, czyli logarytm z liczbyn
przy podstawieb
.
Przykłady zastosowania funkcji LOG
Żeby dobrze zrozumieć działanie funkcji LOG
, najlepiej przeanalizować kilka przykładów.
Obliczanie logarytmu naturalnego
W większości systemów baz danych, jeśli podam tylko jeden argument, SQL obliczy logarytm naturalny (czyli przy podstawie e
):
SELECT LOG(10);
Wynikiem powyższego zapytania będzie wartość 2.302585
, ponieważ ln(10) ≈ 2.302585
.
Logarytm przy innej podstawie
Czasem chcę znaleźć logarytm przy konkretnej podstawie, na przykład logarytm dziesiętny lub binarny. W niektórych bazach danych, takich jak MySQL czy SQL Server, mogę użyć drugiego parametru:
SELECT LOG(10, 100);
Tutaj wynik to 2
, bo log₁₀(100) = 2
(100 to 10 do potęgi drugiej).
Gdzie mogę wykorzystać LOG w praktyce?
Funkcja LOG
w języku SQL przydaje mi się w różnych sytuacjach, przede wszystkim w:
- Analizie danych, np. normalizacji wartości.
- Analizie statystycznej, np. obliczaniu tempa wzrostu.
- Wykresach, gdzie używa się skali logarytmicznej.
LOG w różnych bazach danych
Baza danych | Obsługiwane funkcje logarytmiczne |
---|---|
MySQL | LOG(n) (logarytm naturalny), LOG(b, n) (logarytm dowolnej podstawy) |
PostgreSQL | LN(n) dla logarytmu naturalnego, LOG(b, n) dla logarytmu przy innej podstawie |
SQL Server | LOG(n) (logarytm naturalny), LOG10(n) (logarytm dziesiętny) |
Oracle | LN(n) dla logarytmu naturalnego, brak natywnej obsługi innych podstaw |
Podsumowanie
Funkcja LOG
w SQL jest niezwykle użyteczna, szczególnie w analizie danych i statystyce. W zależności od systemu bazodanowego mogę obliczyć logarytm naturalny lub dowolnej podstawy. Warto wiedzieć, jak działa w danej bazie, bo jej składnia może się różnić. Dzięki znajomości tej funkcji mam możliwość szybkiego przekształcania danych w SQL, co zdecydowanie usprawnia moją pracę.
Inny ciekawy artykuł:
Jak działa SQRT 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.