V MySQL je to LOG()
funkce vrací přirozený logaritmus zadané hodnoty.
Zadanou hodnotu zadáte jako argument při volání funkce.
Syntaxe
Tuto funkci lze použít s jedním nebo dvěma argumenty. Použití jednoho argumentu vypadá takto:
LOG(X)
Kde X
je hodnota, pro kterou chcete vrátit přirozený logaritmus.
Pokud X
je menší nebo rovna 0,0E0, funkce vrátí NULL
a vygeneruje se varování.
Může být také použit se dvěma argumenty, jako je tento:
LOG(B,X)
V tomto případě funkce vrací logaritmus X
na základ B
. Pokud X
je menší nebo rovno 0, nebo pokud B
je menší nebo rovno 1, pak NULL
je vráceno.
Příklad 1 – Jeden argument
Zde je základní příklad, který demonstruje, jak tato funkce funguje pomocí jednoho argumentu.
SELECT LOG(3);
Výsledek:
+--------------------+ | LOG(3) | +--------------------+ | 1.0986122886681098 | +--------------------+
A zde je další příklad s použitím jiné hodnoty.
SELECT LOG(0.3);
Výsledek:
+---------------------+ | LOG(0.3) | +---------------------+ | -1.2039728043259361 | +---------------------+
Příklad 2 – Záporná hodnota
Zde je příklad předání záporné hodnoty.
SELECT LOG(-3);
Výsledek:
+---------+ | LOG(-3) | +---------+ | NULL | +---------+
Tento příklad vrátí hodnotu NULL, protože zadaný argument je menší než 0,0E0.
Příklad 3 – nula
Zde je příklad předání nuly jako argumentu (dostaneme stejný výsledek jako v předchozím příkladu).
SELECT LOG(0);
Výsledek:
+--------+ | LOG(0) | +--------+ | NULL | +--------+
Příklad 4 – Výrazy
Můžete také předat výrazy, jako je tento:
SELECT LOG(2+3);
Výsledek:
+--------------------+ | LOG(2+3) | +--------------------+ | 1.6094379124341003 | +--------------------+
Příklad 5 – Dva argumenty
Zde je příklad demonstrující, jak tato funkce funguje pomocí dvou argumentů.
SELECT LOG(10, 100);
Výsledek:
+--------------+ | LOG(10, 100) | +--------------+ | 2 | +--------------+
A pomocí dalšího příkladu:
SELECT LOG(100, 10);
Výsledek:
+--------------+ | LOG(100, 10) | +--------------+ | 0.5 | +--------------+
Příklad 6 – výsledek NULL
Jak již bylo zmíněno, pokud je první argument 1 nebo méně, je vrácena hodnota NULL.
SELECT LOG(1, 10);
Výsledek:
+------------+ | LOG(1, 10) | +------------+ | NULL | +------------+
A hodnota NULL je také vrácena, pokud je druhý argument roven nule nebo méně:
SELECT LOG(10, 0);
Výsledek:
+------------+ | LOG(10, 0) | +------------+ | NULL | +------------+
MySQL má také LN()
funkce, která je synonymem pro LOG()
funkce (ale pouze pomocí syntaxe s jedním argumentem).
MySQL má také EXP()
funkce, která je inverzní k LOG()
funkce při použití syntaxe s jedním argumentem.