Freigeben über


+-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 DATUM ein Jahresmonatsintervall hinzufügen, stellt Azure Databricks sicher, dass das resultierende Datum wohlgeformt ist.

Wenn das Ergebnis den Ergebnistyp überläuft, löst Azure Databricks einen Fehler ARITHMETIC_OVERFLOW oder INTERVAL_ARITHMETIC_OVERFLOW aus.

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

Warnung

Wenn in Databricks Runtime spark.sql.ansi.enabled ist false, führt ein Überlauf nicht zu einem Fehler, sondern "umschließt" stattdessen das Ergebnis.

Häufige Fehlerbedingungen

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