+
Operator (plustecken)
Gäller för: Databricks SQL Databricks Runtime
Returnerar summan av expr1
och expr2
.
Syntax
expr1 + expr2
Argument
expr1
: Ett numeriskt uttryck, DATUM, TIDSSTÄMPEL eller INTERVALL-uttryck.expr2
: Omexpr1
är ett numerisktexpr2
måste vara numeriskt uttryck, eller ett INTERVALL annars.
Returer
- Om
expr1
är ett numeriskt värde är den vanliga maximala typen av argument. - Om
expr1
är ett DATUM ochexpr2
är ett dagtidsintervall ä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 dagtidsintervall är resultatet ett dagsintervall på 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 till ett DATUM ser Azure Databricks till att det resulterande datumet är välformat.
Om resultatet flödar över resultattypen genererar Azure Databricks ett ARITHMETIC_OVERFLOW fel.
Använd try_add för att returnera NULL
vid 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