Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Função MySQL LOG2() – Retorna o logaritmo de base 2 de um valor


No MySQL, o LOG2() A função retorna o logaritmo de base 2 de um valor especificado.

Você fornece o valor especificado como um argumento ao chamar a função.


Sintaxe


Essa sintaxe fica assim:
LOG2(X)

Onde X é o valor para o qual você deseja que o logaritmo de base 2 seja retornado.

Se X for menor ou igual a 0.0E0, a função retornará NULL e um aviso é gerado.

Exemplo 1 – Uso básico


Aqui está um exemplo básico para demonstrar como essa função funciona.
SELECT LOG2(4);

Resultado:
+---------+
| LOG2(4) |
+---------+
|       2 |
+---------+

E aqui está outro exemplo usando vários valores.
SELECT 
  LOG2(8),
  LOG2(16),
  LOG2(128),
  LOG2(256),
  LOG2(1024);

Resultado:
+---------+----------+-----------+-----------+------------+
| LOG2(8) | LOG2(16) | LOG2(128) | LOG2(256) | LOG2(1024) |
+---------+----------+-----------+-----------+------------+
|       3 |        4 |         7 |         8 |         10 |
+---------+----------+-----------+-----------+------------+

Exemplo 2 - Valor Negativo


Aqui está um exemplo de passagem de um valor negativo.
SELECT LOG2(-4);

Resultado:
+----------+
| LOG2(-4) |
+----------+
|     NULL |
+----------+
1 row in set, 1 warning (0.01 sec)

Este exemplo retorna um valor NULL (e um aviso) 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 LOG2(0);

Resultado:
+---------+
| LOG2(0) |
+---------+
|    NULL |
+---------+
1 row in set, 1 warning (0.00 sec)

Exemplo 4 – Expressões


Você também pode passar expressões como esta:
SELECT LOG2(2+2);

Resultado:
+-----------+
| LOG2(2+2) |
+-----------+
|         2 |
+-----------+

MySQL também tem o LOG10() função que retorna o logaritmo de base 10 de um valor.

Há também o LOG() função (e seu sinônimo LN() ) que retorna o logaritmo natural de um número.