W MySQL funkcja LOG()
funkcja zwraca logarytm naturalny określonej wartości.
Podajesz określoną wartość jako argument podczas wywoływania funkcji.
Składnia
Ta funkcja może być używana z jednym lub dwoma argumentami. Użycie jednego argumentu wygląda tak:
LOG(X)
Gdzie X
jest wartością, dla której chcesz zwrócić logarytm naturalny.
Jeśli X
jest mniejsza lub równa 0.0E0, funkcja zwraca NULL
i generowane jest ostrzeżenie.
Może być również używany z dwoma argumentami, na przykład:
LOG(B,X)
W takim przypadku funkcja zwraca logarytm X
do bazy B
. Jeśli X
jest mniejsza lub równa 0, lub jeśli B
jest mniejsze lub równe 1, to NULL
jest zwracany.
Przykład 1 – Jeden argument
Oto podstawowy przykład demonstrujący działanie tej funkcji przy użyciu jednego argumentu.
SELECT LOG(3);
Wynik:
+--------------------+ | LOG(3) | +--------------------+ | 1.0986122886681098 | +--------------------+
A oto kolejny przykład z użyciem innej wartości.
SELECT LOG(0.3);
Wynik:
+---------------------+ | LOG(0.3) | +---------------------+ | -1.2039728043259361 | +---------------------+
Przykład 2 – Wartość ujemna
Oto przykład przekazywania wartości ujemnej.
SELECT LOG(-3);
Wynik:
+---------+ | LOG(-3) | +---------+ | NULL | +---------+
Ten przykład zwraca wartość NULL, ponieważ podany argument jest mniejszy niż 0.0E0.
Przykład 3 – Zero
Oto przykład przekazania zera jako argumentu (otrzymujemy ten sam wynik, co w poprzednim przykładzie).
SELECT LOG(0);
Wynik:
+--------+ | LOG(0) | +--------+ | NULL | +--------+
Przykład 4 – Wyrażenia
Możesz również przekazywać wyrażenia takie jak:
SELECT LOG(2+3);
Wynik:
+--------------------+ | LOG(2+3) | +--------------------+ | 1.6094379124341003 | +--------------------+
Przykład 5 – Dwa argumenty
Oto przykład pokazujący, jak ta funkcja działa, używając dwóch argumentów.
SELECT LOG(10, 100);
Wynik:
+--------------+ | LOG(10, 100) | +--------------+ | 2 | +--------------+
I używając innego przykładu:
SELECT LOG(100, 10);
Wynik:
+--------------+ | LOG(100, 10) | +--------------+ | 0.5 | +--------------+
Przykład 6 – NULL wynik
Jak wspomniano, jeśli pierwszy argument ma wartość 1 lub mniej, zwracana jest wartość NULL.
SELECT LOG(1, 10);
Wynik:
+------------+ | LOG(1, 10) | +------------+ | NULL | +------------+
Wartość NULL jest również zwracana, jeśli drugi argument jest równy zero lub mniej:
SELECT LOG(10, 0);
Wynik:
+------------+ | LOG(10, 0) | +------------+ | NULL | +------------+
MySQL ma również funkcję LN()
funkcja będąca synonimem LOG()
funkcja (ale tylko przy użyciu składni jednoargumentowej).
MySQL ma również funkcję EXP()
funkcja będąca odwrotnością funkcji LOG()
funkcja podczas używania składni jednoargumentowej.