Funkcja try_add
Dotyczy: Databricks SQL Databricks Runtime 10.4 LTS i nowsze
Zwraca sumę expr1
wartości i expr2
, lub NULL w przypadku błędu.
Składnia
try_add ( expr1 , expr2 )
Tę funkcję można również wywołać jako funkcję okna przy użyciu klauzuli OVER
.
Argumenty
expr1
: wyrażenie liczbowe, DATE, TIMESTAMP lub INTERVAL.expr2
: Jeśliexpr1
wartość jest liczbowaexpr2
, musi być wyrażeniem liczbowym lub interwałem.
Zwraca
- Jeśli
expr1
jest wartością liczbową, typowym maksymalnym typem argumentów. - Jeśli
expr1
jest datą iexpr2
jest interwałem dnia, wynik jest sygnaturą CZASOWĄ. - Jeśli
expr1
interwałyexpr2
i są interwałami miesięcy lat, wynik jest interwałem miesiąca z wystarczająco szerokimi jednostkami do reprezentowania wyniku. - Jeśli
expr1
iexpr2
są interwałami dni, wynik jest interwałem dziennym wystarczająco szerokich jednostek do reprezentowania wyniku. - W przeciwnym razie typ wyniku jest zgodny z
expr1
.
Jeśli oba wyrażenia są interwałami, muszą należeć do tej samej klasy.
Jeśli wynik przepełni typ wyniku, usługa SQL usługi Databricks zwróci wartość NULL.
Po dodaniu interwału miesięcznego do usługi DATE Databricks SQL zapewni, że wynikowa data jest prawidłowo sformułowana.
Przykłady
> 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