sql >> Database teknologi >  >> RDS >> Mysql

MySQL LOG10() Funktion – Returner base-10 logaritmen for en værdi

I MySQL er LOG10() funktion returnerer base-10-logaritmen for en specificeret værdi.

Du angiver den angivne værdi som et argument, når du kalder funktionen.

Syntaks

Denne syntaks ser sådan ud:

LOG10(X)

Hvor X er den værdi, som du vil have base-10-logaritmen returneret for.

Hvis X er mindre end eller lig med 0.0E0, returnerer funktionen NULL og en advarsel genereres.

Eksempel 1 – Grundlæggende brug

Her er et grundlæggende eksempel for at demonstrere, hvordan denne funktion fungerer.

SELECT LOG10(10);

Resultat:

+-----------+
| LOG10(10) |
+-----------+
|         1 |
+-----------+

Og her er endnu et eksempel, der bruger forskellige værdier.

SELECT 
  LOG10(100),
  LOG10(1000),
  LOG10(3000),
  LOG10(10000);

Resultat:

+------------+-------------+--------------------+--------------+
| LOG10(100) | LOG10(1000) | LOG10(3000)        | LOG10(10000) |
+------------+-------------+--------------------+--------------+
|          2 |           3 | 3.4771212547196626 |            4 |
+------------+-------------+--------------------+--------------+

Eksempel 2 – Negativ værdi

Her er et eksempel på indtastning af en negativ værdi.

SELECT LOG10(-4);

Resultat:

+-----------+
| LOG10(-4) |
+-----------+
|      NULL |
+-----------+
1 row in set, 1 warning (0.00 sec)

Dette eksempel returnerer en NULL-værdi (og en advarsel), fordi det angivne argument er mindre end 0.0E0.

Eksempel 3 – Nul

Her er et eksempel på at sende nul som argument (vi får det samme resultat som det forrige eksempel).

SELECT LOG10(0);

Resultat:

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

Eksempel 4 – Udtryk

Du kan også sende udtryk som dette:

SELECT LOG10(5*2);

Resultat:

+------------+
| LOG10(5*2) |
+------------+
|          1 |
+------------+

LOG()

Der er også LOG() funktion (og dens synonym LN() ), som returnerer den naturlige logaritme af et tal.

Faktisk kan du bruge LOG() i stedet for LOG10() hvis du foretrækker det. For at gøre dette skal du bruge 10 som det første argument til funktionen. Eksempel nedenfor.

SELECT 
  LOG(10, 100),
  LOG10(100);

Resultat:

+--------------+------------+
| LOG(10, 100) | LOG10(100) |
+--------------+------------+
|            2 |          2 |
+--------------+------------+

LOG2()

MySQL har også LOG2() funktion, der returnerer basis-2-logaritmen af ​​en værdi.


  1. Sådan opretter du associative arrays i Oracle-databasen

  2. Sammenkæd flere resultatrækker i én kolonne til én, grupper efter en anden kolonne

  3. Hvordan kan jeg optimere MySQL's ORDER BY RAND() funktion?

  4. Lær databasedesign med SQL Server Management Studio (SSMS) – Del 2