Compartir a través de


+ 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.

Cuando se agrega un intervalo de mes y año a una fecha, Azure Databricks comprueba que la fecha resultante tenga el formato correcto.

Si el resultado desborda el tipo de resultado, Azure Databricks produce un error ARITHMETIC_OVERFLOW.

Use try_add para regresar NULL al desbordamiento.

Advertencia

En Databricks Runtime, si spark.sql.ansi.enabled es false, un desbordamiento no provoca un error, sino que "ajusta" el resultado.

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