Delen via


try_add functie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 10.4 LTS en hoger

Retourneert de som van expr1 en expr2, of NULL in het geval van een fout.

Syntaxis

try_add ( expr1 , expr2 )

Deze functie kan ook worden aangeroepen als een vensterfunctie met behulp van de OVER component.

Argumenten

  • expr1: Een numerieke, DATUM-, TIMESTAMP- of INTERVAL-expressie.
  • expr2: Als expr1 numeriek is, moet expr2 een numerieke expressie of anders een INTERVAL zijn.

Retouren

  • Als expr1 een numerieke waarde is, is dat het gemeenschappelijke maximumtype van de argumenten.
  • Als expr1 het een DATUM is en expr2 een dag-tijdsinterval is, is het resultaat een TIJDSTEMPEL.
  • Als expr1 en expr2 jaarmaandintervallen zijn, is het resultaat een interval van een jaarmaand van voldoende brede eenheden om het resultaat weer te geven.
  • Als expr1 en expr2 dag-tijdintervallen zijn, is het resultaat een dag-tijdsinterval van voldoende brede eenheden om het resultaat weer te geven.
  • Anders stemt het resultaattype overeen met expr1.

Als beide expressies interval zijn, moeten ze van dezelfde klasse zijn.

Als het resultaat het resultaattype overschrijdt, retourneert Databricks SQL NULL.

Wanneer u een interval van een jaarmaand toevoegt aan een DATE Databricks SQL, zorgt u ervoor dat de resulterende datum goed is gevormd.

Voorbeelden

> 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