sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer LOG2() i MariaDB

I MariaDB, LOG2() er en indbygget funktion, der returnerer base-2-logaritmen af ​​sit argument.

Syntaks

Syntaksen ser sådan ud:

LOG2(X)

Hvor X er den værdi, som base-2-logaritmen skal returneres for.

Eksempel

Her er et eksempel til demonstration:

SELECT LOG2(3);

Resultat:

+--------------------+
| LOG2(3)            |
+--------------------+
| 1.5849625007211563 |
+--------------------+

Her er nogle flere:

SELECT 
    LOG2(2),
    LOG2(4),
    LOG2(8),
    LOG2(16);

Resultat:

+---------+---------+---------+----------+
| LOG2(2) | LOG2(4) | LOG2(8) | LOG2(16) |
+---------+---------+---------+----------+
|       1 |       2 |       3 |        4 |
+---------+---------+---------+----------+

Argumentintervaller

Hvis X er mindre end eller lig med 0 , derefter NULL returneres med en advarsel.

SELECT 
    LOG2(0),
    LOG2(-1);

Resultat:

+---------+----------+
| LOG2(0) | LOG2(-1) |
+---------+----------+
|    NULL |     NULL |
+---------+----------+
1 row in set, 2 warnings (0.000 sec)

Lad os tjekke advarslerne:

SHOW WARNINGS;

Resultat:

+---------+------+---------------+
| Level   | Code | Message       |
+---------+------+---------------+
| Warning | 1365 | Division by 0 |
| Warning | 1365 | Division by 0 |
+---------+------+---------------+

Ikke-numeriske argumenter

Her er et eksempel på, hvad der sker, når vi giver ikke-numeriske argumenter:

SELECT LOG2('Dog');

Resultat:

+-------------+
| LOG2('Dog') |
+-------------+
|        NULL |
+-------------+
1 row in set, 2 warnings (0.000 sec)

Lad os se advarslen:

SHOW WARNINGS;

Resultat:

+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog' |
| Warning | 1365 | Division by 0                           |
+---------+------+-----------------------------------------+

Nul-argumenter

LOG2() returnerer null hvis dets argument er null :

SELECT LOG2(null);

Resultat:

+------------+
| LOG2(null) |
+------------+
|       NULL |
+------------+

Manglende argumenter

Kalder LOG2() med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:

SELECT LOG2();

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'

Og:

SELECT LOG2(10, 2);

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LOG2'

  1. Sådan tjekker du MySQL-versionen

  2. Får fejl:Peer-godkendelse mislykkedes for brugerens postgres, når man forsøgte at få pgsql til at arbejde med skinner

  3. I SQL / MySQL, hvad er forskellen mellem ON og WHERE i en join-sætning?

  4. Sikker TO_NUMBER()