+
Operator (plustecken)
Gäller för: Databricks Databricks Runtime
Returnerar summan av expr1
och expr2
.
Syntax
expr1 + expr2
Argument
expr1
: Ett numeriskt uttryck, DATE, TIMESTAMP eller INTERVAL-uttryck.expr2
: Omexpr1
är ett numerisktexpr2
måste vara numeriskt uttryck, eller ett INTERVALL annars.
Returnerar
- Om
expr1
är ett numeriskt värde är den vanliga maximala typen av argument. - Om
expr1
är ett DATUM ochexpr2
är ett dagsintervall är resultatet en TIMESTAMP. - Om
expr1
ochexpr2
är årsmånadsintervall är resultatet ett årsmånadsintervall med tillräckligt breda enheter för att representera resultatet. - Om
expr1
ochexpr2
är dagsintervall är resultatet ett dagsintervall med tillräckligt breda enheter för att representera resultatet. - Annars matchar
expr1
resultattypen .
Om båda uttrycken är intervall måste de ha samma klass.
När du lägger till ett årsmånadsintervall i ett DATUM ser Azure Databricks till att det resulterande datumet är välformat.
Om resultatet spiller över resultattypen genererar Azure Databricks ett ARITHMETIC_OVERFLOW fel.
Använd try_add för att återgå NULL
till spill.
Varning
I Databricks Runtime, om spark.sql.ansi.enabled är false
, orsakar ett spill inte ett fel utan "omsluter" resultatet i stället.
Exempel
> 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