Delen via


+ Operator (plusteken)

Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Geeft als resultaat de som van expr1 en expr2.

Syntaxis

expr1 + expr2

Argumenten

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

Retouren

  • Als expr1 dit een numerieke waarde is, wordt het algemene maximumtype van de argumenten gebruikt.
  • 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 komt het resultaattype overeen expr1.

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

Wanneer u een interval van een jaarmaand toevoegt aan een DATUM, zorgt Azure Databricks ervoor dat de resulterende datum goed is opgemaakt.

Als het resultaat het resultaattype overloopt, genereert Azure Databricks een ARITHMETIC_OVERFLOW fout.

Gebruik try_add om terug te keren NULL naar overloop.

Waarschuwing

Als in Databricks Runtime spark.sql.ansi.enabled isfalse, veroorzaakt een overloop geen fout, maar 'verpakt' het resultaat.

Voorbeelden

> SELECT 1 + 2;
 3

> SELECT DATE'2021-03-20' + INTERVAL '2' MONTH
 2021-5-20

> SELECT TIMESTAMP'2021-03-20 12:15:29' + INTERVAL '3' SECOND
 2021-03-20 12:15:32

> SELECT typeof(INTERVAL '3' DAY + INTERVAL '2' HOUR)
 interval day to hour

> SELECT DATE'2021-03-31' + INTERVAL '1' MONTH;
 2021-04-30

> SELECT 127Y + 1Y;
 Error: ARITMETIC_OVERFLOW