Перейти к содержимому
Последнее обновление

Арифметические операторы

Описание​

Арифметические операторы с одним или двумя параметрами позволяют выполнять смену знака, сложение, вычитание, умножение и деление чисел. Некоторые из этих операторов также используются для арифметических операций с интервалами дат и времени. Параметры операторов должны иметь числовые типы данных либо любой тип данных, который можно неявно преобразовать в числовой.

Унарные арифметические операторы возвращают значение того же типа данных, что и числовой параметр. Для бинарных арифметических операторов Doris преобразует параметры в подходящий для вычислений тип в соответствии с правилами неявного преобразования типов и возвращает результат соответствующего типа. Подробные правила преобразования приведены в разделе «Преобразование типов».

Операторы​

ОператорыНазначениеПример
+ -Унарный оператор. Сохраняет или меняет знак значения выражения. Эквивалентен 0 + a и 0 - a
SELECT +(5 + 3), -(5 + 3);
+---------+---------------+
| (5 + 3) | (0 - (5 + 3)) |
+---------+---------------+
| 8 | -8 |
+---------+---------------+
+ -Бинарный оператор. Выполняет сложение или вычитание двух выражений.
SELECT 5 + 3, 5 - 3;
+---------+---------+
| (5 + 3) | (5 - 3) |
+---------+---------+
| 8 | 2 |
+---------+---------+
*Бинарный оператор. Выполняет умножение или деление двух выражений. Особый случай: если второй аргумент деления равен 0, возвращает NULL
SELECT 5 * 3, 5 / 3;
+---------+-----------------------------------------+
| (5 * 3) | (cast(5 as DOUBLE) / cast(3 as DOUBLE)) |
+---------+-----------------------------------------+
| 15 | 1.6666666666666667 |
+---------+-----------------------------------------+
DIVБинарный оператор. Выполняет целочисленное деление двух выражений. Особый случай: если второй аргумент равен 0, возвращает NULL
SELECT 5 DIV 3, 9 DIV 0;
+-----------+-----------+
| (5 DIV 3) | (9 DIV 0) |
+-----------+-----------+
| 1 | NULL |
+-----------+-----------+
%Бинарный оператор. Вычисляет остаток от деления двух выражений. Особый случай: если второй аргумент равен 0, возвращает NULL
SELECT 5 % 3, 9 % 0;
+---------+---------+
| (5 % 3) | (9 % 0) |
+---------+---------+
| 2 | NULL |
+---------+---------+

Примечания по использованию​

В арифметических выражениях:

  1. Не используйте два знака минус подряд -- для обозначения двойного отрицания (это символ комментария в SQL)
  2. При необходимости разделяйте их пробелами или скобками: -(-5) или - -5
  3. Подробнее о правилах оформления комментариев см. в разделе «Комментарии»