+ Operator (plustecken)

Gäller för:check markerad ja Databricks SQL-kontroll markerad ja Databricks Runtime

Returnerar summan av expr1 och expr2.

Syntax

expr1 + expr2

Argument

  • expr1: Ett numeriskt uttryck, DATE, TIMESTAMP eller INTERVAL-uttryck.
  • expr2: Om expr1 är ett numeriskt expr2 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 och expr2 är ett dagsintervall är resultatet en TIMESTAMP.
  • Om expr1 och expr2 är årsmånadsintervall är resultatet ett årsmånadsintervall med tillräckligt breda enheter för att representera resultatet.
  • Om expr1 och expr2 är dagsintervall är resultatet ett dagsintervall med tillräckligt breda enheter för att representera resultatet.
  • Annars matchar expr1resultattypen .

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