sql >> Database >  >> RDS >> Sqlserver

LOG10() Voorbeelden in SQL Server

In SQL Server is de T-SQL LOG10() functie is een wiskundige functie die de logaritme met grondtal 10 van de opgegeven float-uitdrukking retourneert.

U geeft de float-expressie op als argument.

Syntaxis

De syntaxis gaat als volgt:

LOG10 ( float_expression ) 

Waar float_expression is een uitdrukking van het type float of van een type dat impliciet kan worden geconverteerd naar float.

Voorbeeld 1 – Basisgebruik

Hier is een eenvoudig voorbeeld om te demonstreren hoe deze functie werkt.

SELECT LOG10(10) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 1        |
+----------+

En hier is nog een voorbeeld waarbij verschillende waarden worden gebruikt.

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

Resultaat:

+-------+--------+------------------+---------+
| 100   | 1000   | 3000             | 10000   |
|-------+--------+------------------+---------|
| 2     | 3      | 3.47712125471966 | 4       |
+-------+--------+------------------+---------+

Voorbeeld 2 – Negatieve waarde

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

SELECT LOG10(-4) Result;

Resultaat:

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

Dit voorbeeld geeft een foutmelding 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 LOG10(0) Result;

Resultaat:

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

Voorbeeld 4 – Passen in 1

Het doorgeven van een waarde van 1 levert nul op.

SELECT LOG10(1) Result;

Resultaat:

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

Voorbeeld 5 – Uitdrukkingen

U kunt ook uitdrukkingen als deze doorgeven:

SELECT LOG10(5*2) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 1        |
+----------+

Dat is in feite hetzelfde als dit doen:

SELECT LOG10(10) Result;

Resultaat:

+----------+
| Result   |
|----------|
| 1        |
+----------+

LOG()

Transact-SQL heeft ook de LOG() functie die de natuurlijke logaritme van een getal retourneert.

In feite kunt u LOG() . gebruiken in plaats van LOG10() als je wilt. Gebruik hiervoor 10 als het tweede argument voor de functie. Voorbeeld hieronder.

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

Resultaat:

+-------+---------+
| LOG   | LOG10   |
|-------+---------|
| 2     | 2       |
+-------+---------+

  1. Hoe te groeperen op maand in PostgreSQL

  2. Een offline app voor internationalisering maken:gebruik Sqlite-database

  3. Een MariaDB-database verplaatsen naar versleutelde en niet-versleutelde toestanden

  4. Is het mogelijk om uit meerdere tabellen in dezelfde SQL-instructie te verwijderen?