+-Operator (Pluszeichen)

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Gibt die Summe von expr1 und expr2 zurück.

Syntax

expr1 + expr2

Argumente

  • expr1: ein numerischer Ausdruck oder ein DATE-, TIMESTAMP- oder INTERVAL-Ausdruck
  • expr2: Wenn expr1 ein numerischer Wert ist, muss expr2 ein numerischer Ausdruck oder andernfalls ein INTERVAL sein.

Gibt zurück

  • Wenn expr1 ein numerischer Wert ist, der maximale Typ der Argumente
  • Wenn expr1 ein DATE-Ausdruck und expr2 ein Tages-/Zeit-Intervall ist, ist das Ergebnis ein TIMESTAMP-Ausdruck.
  • Wenn expr1 und expr2 Jahres-/Monats-Intervalle sind, ist das Ergebnis ein Jahres-/Monats-Intervall mit ausreichend breiten Einheiten, um das Ergebnis darstellen zu können.
  • Wenn expr1 und expr2 Tages-/Zeit-Intervalle sind, ist das Ergebnis ein Tages-/Zeit-Intervall mit ausreichend breiten Einheiten, um das Ergebnis darstellen zu können.
  • Andernfalls entspricht der Ergebnistyp expr1.

Wenn beide Ausdrücke ein Intervall sind, müssen sie derselben Klasse angehören.

Wenn Sie einem DATE-Element ein Jahres-/Monats-Intervall hinzufügen, stellt Azure Databricks sicher, dass das sich ergebende Datum ordnungsgemäß formatiert ist.

Wenn das Ergebnis einen Überlauf des Ergebnistyps verursacht, löst Azure Databricks einen ARITHMETIC_OVERFLOW-Fehler aus.

Verwenden Sie try_add, um bei Überlauf NULL zurückzugeben.

Warnung

In Databricks Runtime verursacht ein Überlauf keinen Fehler, sondern „umschließt“ das Ergebnis, wenn spark.sql.ansi.enabled auf false festgelegt ist.

Beispiele

> 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