+ operador (signo más)

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Devuelve la suma de expr1 y expr2.

Sintaxis

expr1 + expr2

Argumentos

  • expr1: una expresión numérica, DATE, TIMESTAMP o INTERVAL.
  • expr2: Si expr1 es un valor numérico, expr2 debe ser una expresión numérica; en el caso contrario, una expresión INTERVAL.

Devoluciones

  • Si expr1 es un valor numérico, devuelve el tipo más común de los argumentos.
  • Si expr1 es de tipo DATE y expr2 es un intervalo de día y hora, el resultado es de tipo TIMESTAMP.
  • Si expr1 y expr2 son intervalos de mes y año, el resultado es un intervalo de mes y año con unidades suficientes para representar el resultado.
  • Si expr1 y expr2 son intervalos de día y hora, el resultado es un intervalo de día y hora con unidades suficientes para representar el resultado.
  • En cualquier otro caso, el tipo del resultado coincide con el de expr1.

Si ambas expresiones son intervalos, deben ser de la misma clase.

Al agregar un intervalo de año-mes a una fecha, Azure Databricks garantiza que la fecha resultante esté bien formada.

Si el resultado desborda el tipo de resultado, Azure Databricks genera un error ARITHMETIC_OVERFLOW o INTERVAL_ARITHMETIC_OVERFLOW.

Use try_add para regresar NULL al desbordamiento.

Advertencia

En Databricks Runtime, si spark.sql.ansi.enabled es false, un desbordamiento no produce un error, sino que "encapsula" el resultado en su lugar.

Condiciones de error comunes

Ejemplos

> 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: ARITHMETIC_OVERFLOW