W SQL Server funkcja T-SQL LOG10()
function to funkcja matematyczna, która zwraca logarytm dziesiętny określonego wyrażenia zmiennoprzecinkowego.
Jako argument podajesz wyrażenie zmiennoprzecinkowe.
Składnia
Składnia wygląda tak:
LOG10 ( float_expression )
Gdzie float_expression jest wyrażeniem typu float lub typu, który może być niejawnie przekonwertowany na float.
Przykład 1 – Podstawowe użycie
Oto podstawowy przykład pokazujący, jak działa ta funkcja.
SELECT LOG10(10) Result;
Wynik:
+----------+ | Result | |----------| | 1 | +----------+
A oto kolejny przykład z użyciem różnych wartości.
SELECT LOG10(100) '100', LOG10(1000) '1000', LOG10(3000) '3000', LOG10(10000) '10000';
Wynik:
+-------+--------+------------------+---------+ | 100 | 1000 | 3000 | 10000 | |-------+--------+------------------+---------| | 2 | 3 | 3.47712125471966 | 4 | +-------+--------+------------------+---------+
Przykład 2 – Wartość ujemna
Oto przykład przekazywania wartości ujemnej.
SELECT LOG10(-4) Result;
Wynik:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Ten przykład zwraca komunikat o błędzie, ponieważ logarytm można zwrócić tylko dla liczb dodatnich, które nie są 1.
Przykład 3 – Zero
Oto przykład przekazania zera jako argumentu (otrzymujemy ten sam wynik, co w poprzednim przykładzie).
SELECT LOG10(0) Result;
Wynik:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Przykład 4 – Podanie w 1
Przekazanie wartości 1 zwraca zero.
SELECT LOG10(1) Result;
Wynik:
+----------+ | Result | |----------| | 0 | +----------+
Przykład 5 – Wyrażenia
Możesz również przekazywać wyrażenia takie jak:
SELECT LOG10(5*2) Result;
Wynik:
+----------+ | Result | |----------| | 1 | +----------+
To w rzeczywistości to samo, co zrobienie tego:
SELECT LOG10(10) Result;
Wynik:
+----------+ | Result | |----------| | 1 | +----------+
LOG()
Transact-SQL ma również funkcję LOG()
funkcja zwracająca logarytm naturalny liczby.
W rzeczywistości możesz użyć LOG()
zamiast LOG10()
Jeśli wolisz. Aby to zrobić, użyj 10
jako drugi argument funkcji. Przykład poniżej.
SELECT LOG(100, 10) 'LOG', LOG10(100) 'LOG10';
Wynik:
+-------+---------+ | LOG | LOG10 | |-------+---------| | 2 | 2 | +-------+---------+