V SQL Serveru T-SQL LOG10()
function je matematická funkce, která vrací základní-10 logaritmus zadaného výrazu float.
Jako argument zadáte výraz float.
Syntaxe
Syntaxe vypadá takto:
LOG10 ( float_expression )
Kde float_expression je výraz typu float nebo typu, který lze implicitně převést na float.
Příklad 1 – Základní použití
Zde je základní příklad, který demonstruje, jak tato funkce funguje.
SELECT LOG10(10) Výsledek;
Výsledek:
+-----------+| Výsledek ||-----------|| 1 |+----------+
A zde je další příklad s použitím různých hodnot.
SELECT LOG10(100) '100', LOG10(1000) '1000', LOG10(3000) '3000', LOG10(10000) '10000';
Výsledek:
+-------+--------+------------------+---------+ | 100 | 1000 | 3000 | 10000 ||-------+--------+------------------+---------|| 2 | 3 | 3,47712125471966 | 4 |+-------+--------+------------------+---------+Příklad 2 – Záporná hodnota
Zde je příklad předání záporné hodnoty.
SELECT LOG10(-4) Výsledek;Výsledek:
Zpráva 3623, úroveň 16, stav 1, řádek 1 Došlo k neplatné operaci s pohyblivou řádovou čárkou.Tento příklad vrací chybovou zprávu, protože logaritmus lze vrátit pouze pro kladná čísla, která nejsou 1.
Příklad 3 – nula
Zde je příklad předání nuly jako argumentu (dostaneme stejný výsledek jako v předchozím příkladu).
SELECT LOG10(0) Výsledek;Výsledek:
Zpráva 3623, úroveň 16, stav 1, řádek 1 Došlo k neplatné operaci s pohyblivou řádovou čárkou.Příklad 4 – Předání za 1
Předání hodnoty 1 vrátí nulu.
SELECT LOG10(1) Výsledek;Výsledek:
+-----------+| Výsledek ||-----------|| 0 |+----------+Příklad 5 – Výrazy
Můžete také předat výrazy, jako je tento:
SELECT LOG10(5*2) Výsledek;Výsledek:
+-----------+| Výsledek ||-----------|| 1 |+----------+To je v podstatě stejné jako toto:
SELECT LOG10(10) Výsledek;Výsledek:
+-----------+| Výsledek ||-----------|| 1 |+----------+LOG()
Transact-SQL má také
LOG()
funkce, která vrací přirozený logaritmus čísla.Ve skutečnosti můžete použít
LOG()
místoLOG10()
Pokud preferujete. Chcete-li to provést, použijte10
jako druhý argument funkce. Příklad níže.SELECT LOG(100; 10) 'LOG', LOG10(100) 'LOG10';Výsledek:
+-------+---------+| LOG | LOG10 ||-------+---------|| 2 | 2 |+-------+---------+