sql >> Base de Datos >  >> RDS >> Mysql

Función MySQL LOG2():devuelve el logaritmo en base 2 de un valor

En MySQL, el LOG2() La función devuelve el logaritmo en base 2 de un valor especificado.

Proporcionas el valor especificado como argumento cuando llamas a la función.

Sintaxis

Esta sintaxis es así:

LOG2(X)

Donde X es el valor para el que desea que se devuelva el logaritmo en base 2.

Si X es menor o igual a 0.0E0, la función devuelve NULL y se genera una advertencia.

Ejemplo 1:uso básico

Aquí hay un ejemplo básico para demostrar cómo funciona esta función.

SELECT LOG2(4);

Resultado:

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

Y aquí hay otro ejemplo usando varios 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 |
+---------+----------+-----------+-----------+------------+

Ejemplo 2:valor negativo

Este es un ejemplo de pasar un valor negativo.

SELECT LOG2(-4);

Resultado:

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

Este ejemplo devuelve un valor NULL (y una advertencia) porque el argumento proporcionado es menor que 0.0E0.

Ejemplo 3:Cero

Aquí hay un ejemplo de pasar cero como argumento (obtenemos el mismo resultado que en el ejemplo anterior).

SELECT LOG2(0);

Resultado:

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

Ejemplo 4 – Expresiones

También puede pasar expresiones como esta:

SELECT LOG2(2+2);

Resultado:

+-----------+
| LOG2(2+2) |
+-----------+
|         2 |
+-----------+

MySQL también tiene el LOG10() función que devuelve el logaritmo en base 10 de un valor.

También está el LOG() función (y su sinónimo LN() ) que devuelve el logaritmo natural de un número.