Función try_add
Se aplica a: Databricks SQL Databricks Runtime 10.4 LTS y versiones posteriores
Devuelve la suma de expr1
y expr2
, o NULL en caso de error.
Sintaxis
try_add ( expr1 , expr2 )
Esta función también se puede invocar como una función de ventana mediante la cláusula OVER
.
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.
Si el resultado desborda el tipo de resultado, Databricks SQL devuelve NULL.
Al agregar un intervalo de mes-año a una fecha, Databricks SQL garantizará que la fecha resultante tiene el formato correcto.
Ejemplos
> SELECT try_add(1, 2);
3
> SELECT try_add(DATE'2021-03-20', INTERVAL '2' MONTH);
2021-5-20
> SELECT try_add(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
2021-03-20 12:15:32
> SELECT typeof(try_add(INTERVAL '3' DAY, INTERVAL '2' HOUR));
interval day to hour
> SELECT try_add(DATE'2021-03-31', INTERVAL '1' MONTH);
2021-04-30
> SELECT try_add(127Y, 1Y);
NULL