Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

LOG10() Esempi in SQL Server

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