+ Оператор (знак "плюс")

Область применения:проверка помечено да Databricks SQL проверка помечено да Databricks Runtime

Возвращает сумму значений expr1 и expr2.

Синтаксис

expr1 + expr2

Аргументы

  • expr1: числовое выражение, выражение DATE, TIMESTAMP или INTERVAL.
  • expr2: значение , если expr1 является числовым expr2 , должно быть числовым выражением или значением INTERVAL в противном случае.

Возвращает

  • Если expr1 является числовым, то общий максимальный тип аргументов.
  • Если expr1 параметр имеет значение DATE и expr2 является интервалом времени дня, результатом будет TIMESTAMP.
  • Если expr1 и expr2 являются интервалами года и месяца, результатом является интервал года и месяца достаточно широких единиц для представления результата.
  • Если expr1 и expr2 являются интервалами времени дня, результатом является интервал времени дня достаточно широких единиц для представления результата.
  • В противном случае тип результата соответствует expr1.

Если оба выражения являются интервалами, они должны относиться к одному и тому же классу.

При добавлении интервала год-месяц к дате Azure Databricks гарантирует, что результирующая дата правильно сформирована.

Если результат переполняет тип результата, Azure Databricks выдает ошибку ARITHMETIC_OVERFLOW .

Используйте try_add для возврата NULL при переполнении.

Предупреждение

В Databricks Runtime, если spark.sql.ansi.enabled имеет значение false, переполнение не приводит к ошибке, но вместо этого "упаковывает" результат.

Примеры

> SELECT 1 + 2;
 3

> SELECT DATE'2021-03-20' + INTERVAL '2' MONTH
 2021-5-20

> SELECT TIMESTAMP'2021-03-20 12:15:29' + INTERVAL '3' SECOND
 2021-03-20 12:15:32

> SELECT typeof(INTERVAL '3' DAY + INTERVAL '2' HOUR)
 interval day to hour

> SELECT DATE'2021-03-31' + INTERVAL '1' MONTH;
 2021-04-30

> SELECT 127Y + 1Y;
 Error: ARITMETIC_OVERFLOW