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

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

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 podstawie e).
  • LOG(b, n) – logarytm z podstawą b, czyli logarytm z liczby n przy podstawie b.

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

KajoDataSpace