+
Operator (plusteken)
Van toepassing op: Databricks Databricks Runtime
Retourneert de som van expr1
en expr2
.
Syntaxis
expr1 + expr2
Argumenten
expr1
: Een numerieke, DATUM-, TIMESTAMP- of INTERVAL-expressie.expr2
: Alsexpr1
een numeriekeexpr2
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 enexpr2
een dag-tijdinterval is, is het resultaat een TIMESTAMP. - Als
expr1
enexpr2
jaar-maandintervallen zijn, is het resultaat een jaar-maandinterval van voldoende brede eenheden om het resultaat weer te geven. - Als
expr1
enexpr2
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