Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
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: Wennexpr1ein numerischer Wert ist, mussexpr2ein numerischer Ausdruck oder andernfalls ein INTERVAL sein.
Gibt zurück
- Wenn
expr1ein numerischer Wert ist, der maximale Typ der Argumente - Wenn
expr1ein DATE-Ausdruck undexpr2ein Tages-/Zeit-Intervall ist, ist das Ergebnis ein TIMESTAMP-Ausdruck. - Wenn
expr1undexpr2Jahres-/Monats-Intervalle sind, ist das Ergebnis ein Jahres-/Monats-Intervall mit ausreichend breiten Einheiten, um das Ergebnis darstellen zu können. - Wenn
expr1undexpr2Tages-/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