sql >> Database >  >> RDS >> Sqlserver

LOG() Voorbeelden in SQL Server

In SQL Server, de T-SQL LOG() functie is een wiskundige functie die de natuurlijke logaritme van de opgegeven float-expressie retourneert.

U geeft de float-expressie op als argument. U kunt ook een tweede (optioneel) argument opgeven om de basis voor de logaritme in te stellen.

Syntaxis

De syntaxis gaat als volgt:

LOG ( float_expression [, base ] )  

Waar float_expression is een uitdrukking van het type float of van een type dat impliciet kan worden geconverteerd naar float, en base is een optioneel integer argument dat de basis voor de logaritme bepaalt.

Voorbeeld 1 – Eén argument

Hier is een eenvoudig voorbeeld om te demonstreren hoe deze functie werkt met één argument.

SELECT LOG(10) Result;

Resultaat:

+------------------+
| Result           |
|------------------|
| 2.30258509299405 |
+------------------+

En hier is nog een voorbeeld met een andere waarde.

SELECT LOG(0.5) Result;

Resultaat:

+--------------------+
| Result             |
|--------------------|
| -0.693147180559945 |
+--------------------+

Voorbeeld 2 – Negatieve waarde

Hier is een voorbeeld van het doorgeven van een negatieve waarde.

SELECT LOG(-10) Result;

Resultaat:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

Dit voorbeeld retourneert een fout omdat de logaritme alleen kan worden geretourneerd voor positieve getallen die niet 1 zijn.

Voorbeeld 3 – Nul

Hier is een voorbeeld van het doorgeven van nul als argument (we krijgen hetzelfde resultaat als het vorige voorbeeld).

SELECT LOG(0) Result;

Resultaat:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

Voorbeeld 4 – Passen in 1

Als je een waarde van 1 doorgeeft, krijg je nul.

SELECT LOG(1) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 0        |
+----------+

Voorbeeld 5 – Uitdrukkingen

U kunt uitdrukkingen als deze doorgeven:

SELECT LOG(2+3) Result;

Resultaat:

+-----------------+
| Result          |
|-----------------|
| 1.6094379124341 |
+-----------------+

Dat is in feite hetzelfde als dit doen:

SELECT LOG(5) Result;

Resultaat:

+-----------------+
| Result          |
|-----------------|
| 1.6094379124341 |
+-----------------+

Voorbeeld 6 – Twee argumenten

Hier is een voorbeeld om te demonstreren hoe deze functie werkt met behulp van twee argumenten.

SELECT LOG(10, 100) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 0.5      |
+----------+

En met een ander voorbeeld:

SELECT LOG(100, 10) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 2        |
+----------+

Als u bekend bent met de MySQL-versie van LOG() , zult u merken dat de syntaxis met twee argumenten de tegenovergestelde volgorde gebruikt als de T-SQL-versie (d.w.z. de basis komt eerst).

Voorbeeld 7 – Een basis van 1 gebruiken

Als u 1 . gebruikt als de basis, krijg je een foutmelding.

SELECT LOG(10, 1) Result;

Resultaat:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

Hetzelfde als het eerste argument gelijk is aan nul of minder:

SELECT LOG(0, 10) Result;

Resultaat:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

T-SQL heeft ook de EXP() functie die het omgekeerde is van de LOG() functie.

U kunt ook de LOG10() . gebruiken functie, die de logaritme met grondtal 10 van de opgegeven float-expressie retourneert. Het gebruik van deze functie is hetzelfde als het invoeren van 10 als het tweede argument voor de LOG() functie.


  1. Mooie blokken ketelplaat

  2. Python/postgres/psycopg2:ID van zojuist ingevoegde rij ophalen

  3. voeg twee verschillende tabellen samen en verwijder dubbele vermeldingen

  4. 10 problemen met Common Access 2019 oplossen