+ 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 jaarmaandinterval toevoegt aan een DATUM, zorgt Azure Databricks ervoor dat de resulterende datum goed is opgemaakt.

Als het resultaat het resultaattype overloopt, wordt Azure Databricks de fout ARITHMETIC_OVERFLOW of INTERVAL_ARITHMETIC_OVERFLOW gegenereerd.

Gebruik try_add om terug te keren NULL naar overloop.

Waarschuwing

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

Algemene foutvoorwaarden

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: ARITHMETIC_OVERFLOW