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