Udostępnij za pośrednictwem


Funkcja try_add

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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śli expr1 wartość jest liczbowa expr2 , 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ą i expr2 jest interwałem dnia, wynik jest sygnaturą CZASOWĄ.
  • Jeśli expr1 interwały expr2 i są interwałami miesięcy lat, wynik jest interwałem miesiąca z wystarczająco szerokimi jednostkami do reprezentowania wyniku.
  • Jeśli expr1 i expr2 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