No MySQL, o
LOG()
A função retorna o logaritmo natural de um valor especificado. Você fornece o valor especificado como um argumento ao chamar a função.
Sintaxe
Esta função pode ser usada com um argumento ou dois. Usando um argumento fica assim:
LOG(X)
Onde
X
é o valor para o qual você deseja que o logaritmo natural seja retornado. Se
X
for menor ou igual a 0.0E0, a função retornará NULL
e um aviso é gerado. Também pode ser usado com dois argumentos, como este:
LOG(B,X)
Neste caso, a função retorna o logaritmo de
X
para a base B
. Se X
for menor ou igual a 0, ou se B
for menor ou igual a 1, então NULL
é devolvido. Exemplo 1 – Um argumento
Aqui está um exemplo básico para demonstrar como essa função funciona usando um argumento.
SELECT LOG(3);
Resultado:
+--------------------+ | LOG(3) | +--------------------+ | 1.0986122886681098 | +--------------------+
E aqui está outro exemplo usando um valor diferente.
SELECT LOG(0.3);
Resultado:
+---------------------+ | LOG(0.3) | +---------------------+ | -1.2039728043259361 | +---------------------+
Exemplo 2 - Valor Negativo
Aqui está um exemplo de passagem de um valor negativo.
SELECT LOG(-3);
Resultado:
+---------+ | LOG(-3) | +---------+ | NULL | +---------+
Este exemplo retorna um valor NULL porque o argumento fornecido é menor que 0,0E0.
Exemplo 3 – Zero
Aqui está um exemplo de passagem de zero como argumento (obtemos o mesmo resultado do exemplo anterior).
SELECT LOG(0);
Resultado:
+--------+ | LOG(0) | +--------+ | NULL | +--------+
Exemplo 4 – Expressões
Você também pode passar expressões como esta:
SELECT LOG(2+3);
Resultado:
+--------------------+ | LOG(2+3) | +--------------------+ | 1.6094379124341003 | +--------------------+
Exemplo 5 – Dois argumentos
Aqui está um exemplo para demonstrar como essa função funciona usando dois argumentos.
SELECT LOG(10, 100);
Resultado:
+--------------+ | LOG(10, 100) | +--------------+ | 2 | +--------------+
E usando outro exemplo:
SELECT LOG(100, 10);
Resultado:
+--------------+ | LOG(100, 10) | +--------------+ | 0.5 | +--------------+
Exemplo 6 – Resultado NULO
Conforme mencionado, se o primeiro argumento for 1 ou menor, um valor NULL será retornado.
SELECT LOG(1, 10);
Resultado:
+------------+ | LOG(1, 10) | +------------+ | NULL | +------------+
E um valor NULL também é retornado se o segundo argumento for igual a zero ou menos:
SELECT LOG(10, 0);
Resultado:
+------------+ | LOG(10, 0) | +------------+ | NULL | +------------+
MySQL também tem o
LN()
função que é sinônimo de LOG()
função (mas apenas usando a sintaxe de argumento único). MySQL também tem o
EXP()
função que é o inverso do LOG()
função ao usar a sintaxe de argumento único.