+ Operator (plusteken)

Van toepassing op:gemarkeerd met ja Databricks SQL-controle gemarkeerd als ja Databricks Runtime

Retourneert de som van expr1 en expr2.

Syntaxis

expr1 + expr2

Argumenten

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

Retourneert

  • Als expr1 een numerieke waarde is, is dit het algemene maximumtype van de argumenten.
  • Als expr1 een DATUM en expr2 een dag-tijdinterval is, is het resultaat een TIMESTAMP.
  • Als expr1 en expr2 jaar-maandintervallen zijn, is het resultaat een jaar-maandinterval van voldoende brede eenheden om het resultaat weer te geven.
  • Als expr1 en expr2 dag-tijdintervallen zijn, is het resultaat een dag-tijdinterval van voldoende brede eenheden om het resultaat weer te geven.
  • Anders komt het resultaattype overeen met expr1.

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

Wanneer u een jaar-maandinterval 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 bij overloop.

Waarschuwing

Als in Databricks Runtime spark.sql.ansi.enabled is false, 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