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 | +-------+---------+