
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 liczbynprzy 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, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

