In MySQL, il LOG()
la funzione restituisce il logaritmo naturale di un valore specificato.
Fornisci il valore specificato come argomento quando chiami la funzione.
Sintassi
Questa funzione può essere utilizzata con uno o due argomenti. L'utilizzo di un argomento è simile al seguente:
LOG(X)
Dove X
è il valore per il quale vuoi che venga restituito il logaritmo naturale.
Se X
è minore o uguale a 0.0E0, la funzione restituisce NULL
e viene generato un avviso.
Può essere utilizzato anche con due argomenti, come questo:
LOG(B,X)
In questo caso, la funzione restituisce il logaritmo di X
alla base B
. Se X
è minore o uguale a 0, o se B
è minore o uguale a 1, quindi NULL
viene restituito.
Esempio 1 – Un argomento
Ecco un esempio di base per dimostrare come funziona questa funzione utilizzando un argomento.
SELECT LOG(3);
Risultato:
+--------------------+ | LOG(3) | +--------------------+ | 1.0986122886681098 | +--------------------+
Ed ecco un altro esempio che utilizza un valore diverso.
SELECT LOG(0.3);
Risultato:
+---------------------+ | LOG(0.3) | +---------------------+ | -1.2039728043259361 | +---------------------+
Esempio 2 – Valore negativo
Ecco un esempio di passaggio di un valore negativo.
SELECT LOG(-3);
Risultato:
+---------+ | LOG(-3) | +---------+ | NULL | +---------+
Questo esempio restituisce un valore NULL perché l'argomento fornito è minore di 0.0E0.
Esempio 3 – Zero
Ecco un esempio di passaggio di zero come argomento (otteniamo lo stesso risultato dell'esempio precedente).
SELECT LOG(0);
Risultato:
+--------+ | LOG(0) | +--------+ | NULL | +--------+
Esempio 4 – Espressioni
Puoi anche passare espressioni come questa:
SELECT LOG(2+3);
Risultato:
+--------------------+ | LOG(2+3) | +--------------------+ | 1.6094379124341003 | +--------------------+
Esempio 5 – Due argomenti
Ecco un esempio per dimostrare come funziona questa funzione utilizzando due argomenti.
SELECT LOG(10, 100);
Risultato:
+--------------+ | LOG(10, 100) | +--------------+ | 2 | +--------------+
E usando un altro esempio:
SELECT LOG(100, 10);
Risultato:
+--------------+ | LOG(100, 10) | +--------------+ | 0.5 | +--------------+
Esempio 6 – Risultato NULL
Come accennato, se il primo argomento è 1 o meno, viene restituito un valore NULL.
SELECT LOG(1, 10);
Risultato:
+------------+ | LOG(1, 10) | +------------+ | NULL | +------------+
E viene restituito anche un valore NULL se il secondo argomento è uguale a zero o inferiore:
SELECT LOG(10, 0);
Risultato:
+------------+ | LOG(10, 0) | +------------+ | NULL | +------------+
MySQL ha anche LN()
funzione che è sinonimo di LOG()
funzione (ma solo usando la sintassi a argomento singolo).
MySQL ha anche EXP()
funzione che è l'inverso di LOG()
funzione quando si utilizza la sintassi a argomento singolo.