Función try_add

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime 10.0 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: 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.

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