In SQL Server, il LOG10()
di T-SQL function è una funzione matematica che restituisce il logaritmo in base 10 dell'espressione float specificata.
Specificare l'espressione float come argomento.
Sintassi
La sintassi è questa:
LOG10 ( float_expression )
Dove espressione_flottante è un'espressione di tipo float o di un tipo che può essere convertito in modo implicito in float.
Esempio 1 – Utilizzo di base
Ecco un esempio di base per dimostrare come funziona questa funzione.
SELECT LOG10(10) Result;
Risultato:
+----------+ | Result | |----------| | 1 | +----------+
Ed ecco un altro esempio che utilizza vari valori.
SELECT LOG10(100) '100', LOG10(1000) '1000', LOG10(3000) '3000', LOG10(10000) '10000';
Risultato:
+-------+--------+------------------+---------+ | 100 | 1000 | 3000 | 10000 | |-------+--------+------------------+---------| | 2 | 3 | 3.47712125471966 | 4 | +-------+--------+------------------+---------+
Esempio 2 – Valore negativo
Ecco un esempio di passaggio di un valore negativo.
SELECT LOG10(-4) Result;
Risultato:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Questo esempio restituisce un messaggio di errore perché il logaritmo può essere restituito solo per numeri positivi diversi da 1.
Esempio 3 – Zero
Ecco un esempio di passaggio di zero come argomento (otteniamo lo stesso risultato dell'esempio precedente).
SELECT LOG10(0) Result;
Risultato:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Esempio 4 – Passaggio 1
Il passaggio di un valore di 1 restituisce zero.
SELECT LOG10(1) Result;
Risultato:
+----------+ | Result | |----------| | 0 | +----------+
Esempio 5 – Espressioni
Puoi anche passare espressioni come questa:
SELECT LOG10(5*2) Result;
Risultato:
+----------+ | Result | |----------| | 1 | +----------+
Questo è effettivamente lo stesso di fare questo:
SELECT LOG10(10) Result;
Risultato:
+----------+ | Result | |----------| | 1 | +----------+
LOG()
Transact-SQL ha anche il LOG()
funzione che restituisce il logaritmo naturale di un numero.
In effetti, puoi usare LOG()
invece di LOG10()
se preferisci. Per farlo, usa 10
come secondo argomento della funzione. Esempio sotto.
SELECT LOG(100, 10) 'LOG', LOG10(100) 'LOG10';
Risultato:
+-------+---------+ | LOG | LOG10 | |-------+---------| | 2 | 2 | +-------+---------+