Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция
Область применения:
Databricks SQL
Databricks Runtime 10.4 LTS и выше
Возвращает результат вычитания expr2 из expr1, или возвращает NULL в случае переполнения.
Синтаксис
try_subtract ( expr1 , expr2 )
Аргументы
-
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_subtract(1, 2);
-1
> SELECT try_subtract(DATE'2021-03-20', INTERVAL '2' MONTH);
2021-1-20
> SELECT try_subtract(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
2021-03-20 12:15:26
> SELECT typeof(try_subtract(INTERVAL '3' DAY, INTERVAL '2' HOUR));
interval day to hour
> SELECT try_subtract(DATE'2021-03-31', INTERVAL '1' MONTH);
2021-02-28
> SELECT try_subtract(-128Y, 1Y);
NULL