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

LOG10() Eksempler i SQL Server

I SQL Server, T-SQL LOG10() funktion er en matematisk funktion, der returnerer base-10-logaritmen for det angivne flydende udtryk.

Du angiver float-udtrykket som et argument.

Syntaks

Syntaksen ser sådan ud:

LOG10 ( float_expression ) 

Hvor float_expression er et udtryk for type float eller af en type, der implicit kan konverteres til float.

Eksempel 1 – Grundlæggende brug

Her er et grundlæggende eksempel for at demonstrere, hvordan denne funktion fungerer.

SELECT LOG10(10) Result;

Resultat:

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

Og her er endnu et eksempel, der bruger forskellige værdier.

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

Resultat:

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

Eksempel 2 – Negativ værdi

Her er et eksempel på indtastning af en negativ værdi.

SELECT LOG10(-4) Result;

Resultat:

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

Dette eksempel returnerer en fejlmeddelelse, fordi logaritmen kun kan returneres for positive tal, der ikke er 1.

Eksempel 3 – Nul

Her er et eksempel på at sende nul som argument (vi får det samme resultat som det forrige eksempel).

SELECT LOG10(0) Result;

Resultat:

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

Eksempel 4 – Beståelse 1

Indtastning af en værdi på 1 returnerer nul.

SELECT LOG10(1) Result;

Resultat:

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

Eksempel 5 – Udtryk

Du kan også sende udtryk som dette:

SELECT LOG10(5*2) Result;

Resultat:

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

Det er faktisk det samme som at gøre dette:

SELECT LOG10(10) Result;

Resultat:

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

LOG()

Transact-SQL har også LOG() funktion som returnerer den naturlige logaritme af et tal.

Faktisk kan du bruge LOG() i stedet for LOG10() hvis du foretrækker det. For at gøre dette skal du bruge 10 som det andet argument til funktionen. Eksempel nedenfor.

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

Resultat:

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

  1. PHP + SQL Server - Hvordan indstilles tegnsæt til forbindelse?

  2. EF-forespørgsel til Oracle kaster ORA-12704:tegnsæt uoverensstemmelse

  3. Postgres INTERVAL ved hjælp af værdi fra tabel

  4. Postgresql DROP TABLE virker ikke