Funktionen try_add

Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 10.4 LTS och senare

Returnerar summan av expr1 och expr2, eller NULL vid fel.

Syntax

try_add ( expr1 , expr2 )

Den här funktionen kan också anropas som en fönsterfunktion med hjälp av OVER -satsen.

Argument

  • expr1: Ett numeriskt uttryck, DATUM, TIDSSTÄMPEL eller INTERVALL-uttryck.
  • expr2: Om expr1 är ett numeriskt expr2 måste vara numeriskt uttryck, eller ett INTERVALL annars.

Returer

  • Om expr1 är ett numeriskt värde är den vanliga maximala typen av argument.
  • Om expr1 är ett DATUM och expr2 är ett dagtidsintervall är resultatet en TIMESTAMP.
  • Om expr1 och expr2 är årsmånadsintervall är resultatet ett årsmånadsintervall med tillräckligt breda enheter för att representera resultatet.
  • Om expr1 och expr2 är dagtidsintervall är resultatet ett dagsintervall på tillräckligt breda enheter för att representera resultatet.
  • Annars matchar expr1resultattypen .

Om båda uttrycken är intervall måste de ha samma klass.

Om resultatet spills över returnerar resultattypen Databricks SQL NULL.

När du lägger till ett årsmånadsintervall i en DATE Databricks SQL ser du till att det resulterande datumet är välformat.

Exempel

> 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