В SQL Server, T-SQL LOG10()
функцията е математическа функция, която връща логаритъма с база 10 на посочения израз с плаваща стойност.
Посочвате израза float като аргумент.
Синтаксис
Синтаксисът е така:
LOG10 ( float_expression)
Където float_expression е израз на тип float или на тип, който може да бъде имплицитно преобразуван в float.
Пример 1 – Основна употреба
Ето основен пример, за да демонстрирате как работи тази функция.
ИЗБЕРЕТЕ LOG10(10) Резултат;
Резултат:
+---------+| Резултат ||----------|| 1 |+---------+
И ето още един пример, използващ различни стойности.
ИЗБЕРЕТЕ LOG10(100) '100', LOG10(1000) '1000', LOG10(3000) '3000', LOG10(10000) '10000';
Резултат:
+-------+--------+-----------------+--------+ | 100 | 1000 | 3000 | 10000 ||-------+-------+-----------------+--------|| 2 | 3 | 3,47712125471966 | 4 |+-------+-------+----------+--------+предварително>Пример 2 – Отрицателна стойност
Ето пример за предаване на отрицателна стойност.
ИЗБЕРЕТЕ LOG10(-4) Резултат;Резултат:
Съобщение 3623, ниво 16, състояние 1, ред 1 Възникна невалидна операция с плаваща запетая.Този пример връща съобщение за грешка, тъй като логаритъмът може да бъде върнат само за положителни числа, които не са 1.
Пример 3 – нула
Ето пример за предаване на нула като аргумент (получаваме същия резултат като предишния пример).
ИЗБЕРЕТЕ LOG10(0) Резултат;Резултат:
Съобщение 3623, ниво 16, състояние 1, ред 1 Възникна невалидна операция с плаваща запетая.Пример 4 – Предаване в 1
Предаването на стойност 1 връща нула.
ИЗБЕРЕТЕ LOG10(1) Резултат;Резултат:
+---------+| Резултат ||----------|| 0 |+---------+Пример 5 – Изрази
Можете също да предавате изрази като този:
ИЗБЕРЕТЕ LOG10(5*2) Резултат;Резултат:
+---------+| Резултат ||----------|| 1 |+---------+Това всъщност е същото като да направите това:
ИЗБЕРЕТЕ LOG10(10) Резултат;Резултат:
+---------+| Резултат ||----------|| 1 |+---------+LOG()
Transact-SQL също има
LOG()
функция, която връща естествения логаритъм на число.Всъщност можете да използвате
LOG()
вместоLOG10()
ако предпочиташ. За да направите това, използвайте10
като втори аргумент на функцията. Пример по-долу.ИЗБЕРЕТЕ LOG(100, 10) 'LOG', LOG10(100) 'LOG10';Резултат:
+-------+--------+| Дневник | LOG10 ||-------+--------|| 2 | 2 |+-------+--------+