Sdílet prostřednictvím


Funkce try_add

Platí pro:označeno zaškrtnutím Databricks SQL označeno zaškrtnutím Databricks Runtime 10.4 LTS a vyšší

Vrátí součet expr1 a expr2, nebo hodnotu NULL v případě chyby.

Syntaxe

try_add ( expr1 , expr2 )

Tuto funkci lze také vyvolat jako funkci okna pomocí klauzule OVER.

Argumenty

  • expr1: Číselný výraz, DATUM, ČASOVÉ RAZÍTKO nebo INTERVAL.
  • expr2: Pokud je expr1 číselný, expr2 musí být buď číselný výraz, nebo jinak INTERVAL.

Návraty

  • Pokud expr1 je argument číselný, jedná se o společný maximální typ argumentů.
  • Pokud expr1 je datem a expr2 jedná se o denní interval, výsledkem je časové razítko.
  • Pokud expr1 a expr2 jsou intervaly typu rok-měsíc, výsledkem je interval rok-měsíc s dostatečně širokými jednotkami, aby mohl představovat výsledek.
  • Pokud jsou expr1 a expr2 denní intervaly, výsledkem je denní interval s dostatečně širokými jednotkami pro reprezentaci výsledku.
  • V opačném případě se typ výsledku shoduje expr1.

Pokud jsou oba výrazy interval, musí mít stejnou třídu.

Pokud výsledek přesáhne rozsah typu výsledku, Databricks SQL vrátí hodnotu NULL.

Když přidáte interval rok-měsíc k typu DATE v Databricks SQL, zajistí se, že výsledné datum bude správně vytvořené.

Příklady

> 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