MySQL. Функция ABS

01.08.2019
MySQL. Математические функции

Описание: в этой статье вы узнаете, как использовать функцию ABS() в MySQL для возврата абсолютного значения числа.

 

Обзор функции ABS() в MySQL

Функция ABS() представляет собой математическую функцию, которая возвращает абсолютное (положительное) значение числа.

Ниже показан синтаксис функции ABS():

ABS(n)

 

В этом синтаксисе n — это буквальное число или выражение, которое оценивается как число. Если n — отрицательное число, функция ABS() меняет отрицательное значение на положительное. Если n равно нулю или положительно, функция ABS() не имеет никакого эффекта.

Тип данных возвращаемого значения совпадает с типом данных входного аргумента.

Следующий график иллюстрирует функцию ABS():

 

Примеры функций ABS() в MySQL

В следующем примере показаны результаты использования функции ABS() для четырех разных чисел:

SELECT
ABS(-10),
ABS(0),
ABS(10);

 

Вот результат запроса:

 

 

Использование функции ABS в столбцах таблицы

Мы будем использовать таблицу 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 для получения абсолютного значения числа.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 0 (0 голосов)

Поделиться в соц. сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала