Udostępnij przez


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 i expr2, albo 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 czasowym dnia, wynik jest znacznikiem czasu.
  • Jeśli expr1 i expr2 są interwałami rok-miesiąc, wynik jest interwałem rok-miesiąc z wystarczająco szerokimi jednostkami do reprezentowania wyniku.
  • Jeśli expr1 i expr2 są interwałami czasowymi w ciągu dnia, wynik jest interwałem czasowym w ciągu dnia o wystarczająco szerokich jednostkach, aby reprezentować wynik.
  • 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, Databricks SQL zwróci wartość NULL.

Po dodaniu interwału rok-miesiąc do 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