sql >> Databasteknik >  >> RDS >> Sqlserver

LOG10() Exempel i SQL Server

I SQL Server, T-SQL LOG10() funktion är en matematisk funktion som returnerar bas-10-logaritmen för det angivna flytuttrycket.

Du anger float-uttrycket som ett argument.

Syntax

Syntaxen ser ut så här:

LOG10 ( float_expression ) 

Där float_expression är ett uttryck för typ float eller av en typ som implicit kan omvandlas till float.

Exempel 1 – Grundläggande användning

Här är ett grundläggande exempel för att visa hur den här funktionen fungerar.

SELECT LOG10(10) Result;

Resultat:

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

Och här är ett annat exempel med olika värden.

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

Resultat:

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

Exempel 2 – Negativt värde

Här är ett exempel på att skicka in ett negativt värde.

SELECT LOG10(-4) Result;

Resultat:

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

Det här exemplet returnerar ett felmeddelande eftersom logaritmen endast kan returneras för positiva tal som inte är 1.

Exempel 3 – Noll

Här är ett exempel på att skicka in noll som argument (vi får samma resultat som föregående exempel).

SELECT LOG10(0) Result;

Resultat:

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

Exempel 4 – Godkänd 1

Att skicka in ett värde på 1 returnerar noll.

SELECT LOG10(1) Result;

Resultat:

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

Exempel 5 – Uttryck

Du kan också skicka in uttryck som detta:

SELECT LOG10(5*2) Result;

Resultat:

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

Det är i praktiken samma sak som att göra det här:

SELECT LOG10(10) Result;

Resultat:

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

LOG()

Transact-SQL har också LOG() funktion som returnerar den naturliga logaritmen för ett tal.

Faktum är att du kan använda LOG() istället för LOG10() om du föredrar. För att göra detta, använd 10 som det andra argumentet till funktionen. Exempel nedan.

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

Resultat:

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

  1. Hur kan jag optimera MySQL:s ORDER BY RAND() funktion?

  2. Autentiseringsplugin 'caching_sha2_password' stöds inte

  3. Flera rangordnar i en tabell

  4. Använda docker-compose för att skapa tabeller i postgresql-databasen