In SQL Server is de T-SQL LOG10()
functie is een wiskundige functie die de logaritme met grondtal 10 van de opgegeven float-uitdrukking retourneert.
U geeft de float-expressie op als argument.
Syntaxis
De syntaxis gaat als volgt:
LOG10 ( float_expression )
Waar float_expression is een uitdrukking van het type float of van een type dat impliciet kan worden geconverteerd naar float.
Voorbeeld 1 – Basisgebruik
Hier is een eenvoudig voorbeeld om te demonstreren hoe deze functie werkt.
SELECT LOG10(10) Result;
Resultaat:
+----------+ | Result | |----------| | 1 | +----------+
En hier is nog een voorbeeld waarbij verschillende waarden worden gebruikt.
SELECT LOG10(100) '100', LOG10(1000) '1000', LOG10(3000) '3000', LOG10(10000) '10000';
Resultaat:
+-------+--------+------------------+---------+ | 100 | 1000 | 3000 | 10000 | |-------+--------+------------------+---------| | 2 | 3 | 3.47712125471966 | 4 | +-------+--------+------------------+---------+
Voorbeeld 2 – Negatieve waarde
Hier is een voorbeeld van het doorgeven van een negatieve waarde.
SELECT LOG10(-4) Result;
Resultaat:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Dit voorbeeld geeft een foutmelding omdat de logaritme alleen kan worden geretourneerd voor positieve getallen die niet 1 zijn.
Voorbeeld 3 – Nul
Hier is een voorbeeld van het doorgeven van nul als argument (we krijgen hetzelfde resultaat als het vorige voorbeeld).
SELECT LOG10(0) Result;
Resultaat:
Msg 3623, Level 16, State 1, Line 1 An invalid floating point operation occurred.
Voorbeeld 4 – Passen in 1
Het doorgeven van een waarde van 1 levert nul op.
SELECT LOG10(1) Result;
Resultaat:
+----------+ | Result | |----------| | 0 | +----------+
Voorbeeld 5 – Uitdrukkingen
U kunt ook uitdrukkingen als deze doorgeven:
SELECT LOG10(5*2) Result;
Resultaat:
+----------+ | Result | |----------| | 1 | +----------+
Dat is in feite hetzelfde als dit doen:
SELECT LOG10(10) Result;
Resultaat:
+----------+ | Result | |----------| | 1 | +----------+
LOG()
Transact-SQL heeft ook de LOG()
functie die de natuurlijke logaritme van een getal retourneert.
In feite kunt u LOG()
. gebruiken in plaats van LOG10()
als je wilt. Gebruik hiervoor 10
als het tweede argument voor de functie. Voorbeeld hieronder.
SELECT LOG(100, 10) 'LOG', LOG10(100) 'LOG10';
Resultaat:
+-------+---------+ | LOG | LOG10 | |-------+---------| | 2 | 2 | +-------+---------+