No MariaDB,
LN()
é uma função interna que retorna o logaritmo natural de seu argumento. Em outras palavras, ele retorna a base-e logaritmo de seu argumento. O número e , também conhecido como número de Euler, é uma constante matemática aproximadamente igual a 2,71828.
LN()
é o inverso de EXP()
, e é o mesmo que usar LOG()
com a sintaxe de argumento único. Sintaxe
A sintaxe fica assim:
LN(X)
Onde
X
é o valor para o qual retornar o logaritmo natural. Exemplo
Aqui está um exemplo:
SELECT LN(3);
Resultado:
+--------------------+ | LN(3) | +--------------------+ | 1.0986122886681098 | +--------------------+
Aqui está o que recebemos quando passamos por e :
SELECT LN(2.718281828459045);
Resultado:
+-----------------------+ | LN(2.718281828459045) | +-----------------------+ | 1 | +-----------------------+
Expressões
O argumento pode incluir expressões como esta:
SELECT LN(2 * 3);
Resultado:
+-------------------+ | LN(2 * 3) | +-------------------+ | 1.791759469228055 | +-------------------+
Argumento zero
Um argumento de
0
retorna null
com um aviso:SELECT LN(0);
Resultado:
+-------+ | LN(0) | +-------+ | NULL | +-------+ 1 row in set, 1 warning (0.000 sec)
Mostrar o aviso:
SHOW WARNINGS;
Resultado:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+
Valores negativos
Valores negativos retornam
null
com um aviso:SELECT LN(-2);
Resultado:
+--------+ | LN(-2) | +--------+ | NULL | +--------+ 1 row in set, 1 warning (0.002 sec)
Argumentos não numéricos
Aqui está um exemplo do que acontece quando fornecemos um argumento não numérico:
SELECT LN('Cat');
Resultado:
+-----------+ | LN('Cat') | +-----------+ | NULL | +-----------+ 1 row in set, 2 warnings (0.000 sec)
Vejamos o aviso:
SHOW WARNINGS;
Resultado:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' | | Warning | 1365 | Division by 0 | +---------+------+-----------------------------------------+
Argumentos nulos
LN()
retorna null
se o argumento for null
:SELECT LN(null);
Resultado:
+----------+ | LN(null) | +----------+ | NULL | +----------+
Argumentos ausentes
Chamando
LN()
com o número errado de argumentos ou sem argumentos resulta em um erro:SELECT LN();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LN'
E:
SELECT LN(10, 2);
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LN'