Функция try_add

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

Возвращает сумму expr1 и expr2, или NULL в случае ошибки.

Синтаксис

try_add ( expr1 , expr2 )

Эту функцию также можно вызвать как функцию окна с помощью OVER предложения.

Аргументы

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

Возвраты

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

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

Если результат переполняет тип результата, Databricks SQL возвращает значение NULL.

При сложении интервала типа "год-месяц" с выражением DATE среда Databricks SQL автоматически обеспечит правильный формат полученного значения даты.

Примеры

> SELECT try_add(1, 2);
 3

> SELECT try_add(DATE'2021-03-20', INTERVAL '2' MONTH);
 2021-5-20

> SELECT try_add(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
 2021-03-20 12:15:32

> SELECT typeof(try_add(INTERVAL '3' DAY, INTERVAL '2' HOUR));
 interval day to hour

> SELECT try_add(DATE'2021-03-31', INTERVAL '1' MONTH);
 2021-04-30

> SELECT try_add(127Y, 1Y);
 NULL