Описание: в этой статье вы узнаете, как использовать функцию ABS() в MySQL для возврата абсолютного значения числа.
Функция ABS() представляет собой математическую функцию, которая возвращает абсолютное (положительное) значение числа.
Ниже показан синтаксис функции ABS():
ABS(n)
В этом синтаксисе n — это буквальное число или выражение, которое оценивается как число. Если n — отрицательное число, функция ABS() меняет отрицательное значение на положительное. Если n равно нулю или положительно, функция ABS() не имеет никакого эффекта.
Тип данных возвращаемого значения совпадает с типом данных входного аргумента.
Следующий график иллюстрирует функцию ABS():
В следующем примере показаны результаты использования функции ABS() для четырех разных чисел:
SELECT ABS(-10), ABS(0), ABS(10);
Вот результат запроса:
Мы будем использовать таблицу products для демонстрации:
Следующий запрос находит код продукта, MSRP и отклонение MSRP продукта от среднего значения MSRP продукта в его линейке продуктов.
SELECT productName, productLine, msrp, ABS( ROUND( msrp - AVG(msrp) OVER ( PARTITION BY productLine ) ) ) deviation FROM products ORDER BY productName;
Вот вывод:
Давайте разберем расчет столбца отклонений.
Во-первых, оконная функция AVG() возвращает среднее значение MSRP для каждого продукта в своей линейке продуктов:
AVG(msrp) OVER ( PARTITION BY productLine )
Во-вторых, следующая формула возвращает разницу между MSRP и средней линейкой продуктов MSRP:
msrp - AVG(msrp) OVER (PARTITION BY productLine)
В-третьих, функция ROUND() округляет отклонение до нуля.
ROUND( msrp - AVG(msrp) OVER ( PARTITION BY productLine ) )
В-четвертых, поскольку у некоторых продуктов MSRP ниже, чем среднее значение MSRP, их отклонения от среднего значения являются отрицательными. Функция ABS() применяется ко всем отклонениям и будет возвращать абсолютные значения.
Из этой статьи вы узнали, как использовать функцию ABS() в MySQL для получения абсолютного значения числа.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята