+
operador (signo más)
Se aplica a: Databricks SQL Databricks Runtime
Devuelve la suma de expr1
y expr2
.
Sintaxis
expr1 + expr2
Argumentos
expr1
: una expresión numérica, DATE, TIMESTAMP o INTERVAL.expr2
: Siexpr1
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 yexpr2
es un intervalo de día y hora, el resultado es de tipo TIMESTAMP. - Si
expr1
yexpr2
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
yexpr2
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