Функции LOG и EXP |
||||||||||||||||||||
Функция LOG(x) возвращает натуральный логарифм выражения x. Результат имеет тип Тип данных с плавающей точкой. float. Начиная с версии Cистема управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL Server 2012, эта функция приобрела необязательный аргумент, который задает основание логарифма.
Этот запрос возвращает натуральный и десятичный логарифмы числа 2. Имеется также унаследованная функция LOG10(x), возвращающая десятичный логарифм выражения x. Она изначально являлась избыточной, ввиду известной формулы преобразования логарифмов: LOGba = LOGca/LOGcb Соответственно три следующих выражения дадут один и тот же результат (0.301029995663981):
Функция EXP(x) - экспонента - возвращает число e в степени x. Тип возвращаемого значения FLOAT. Эта функция является обратной к функции LOG:
Еще одно полезное свойство преобразования логарифмов - а именно, логарифм произведения равен сумме логарифмов сомножителей - позволит нам вычислить произведение значений в столбце таблицы, т.е.
В справедливости данного свойства мы можем легко убедиться на примере:
Среди агрегатных функций SQL нет функции произведения значений. Тем не менее, используя вышеупомянутое свойство логарифмов и элементарные преобразования, мы можем свести эту задачу к вычислению суммы. Действительно,
Вычислить факториал числа, равного количеству строк в таблице Laptop. Решение
Рекомендуемые упражнения: 106 |