+
-Operator (Pluszeichen)
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-Ausdruckexpr2
: Wennexpr1
ein numerischer Wert ist, mussexpr2
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 undexpr2
ein Tages-/Zeit-Intervall ist, ist das Ergebnis ein TIMESTAMP-Ausdruck. - Wenn
expr1
undexpr2
Jahres-/Monats-Intervalle sind, ist das Ergebnis ein Jahres-/Monats-Intervall mit ausreichend breiten Einheiten, um das Ergebnis darstellen zu können. - Wenn
expr1
undexpr2
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