Partager via


Fonction try_add

S’applique à : coche marquée oui Databricks SQL oui coché Databricks Runtime 10.4 LTS et versions ultérieures

Retourne la somme de expr1 et expr2, ou NULL en cas d’erreur.

Syntaxe

try_add ( expr1 , expr2 )

Cette fonction peut également être appelée en tant que fonction de fenêtre à l’aide de la clause OVER.

Arguments

  • expr1 : expression numérique, DATE, TIMESTAMP ou INTERVAL.
  • expr2 : si expr1 est une valeur numérique, expr2 doit être une expression numérique, ou de type intervalle (INTERVAL) dans le cas contraire.

Retours

  • Si expr1 est une expression numérique, type maximal commun des arguments.
  • Si expr1 est de type DATE et que expr2 est un intervalle de jour-heure, le résultat est de type TIMESTAMP.
  • Si expr1 et expr2 sont des intervalles d’année-mois, le résultat est un intervalle d’année-mois qui correspond à des unités suffisamment grandes pour représenter le résultat.
  • Si expr1 et expr2 sont des intervalles de jour-heure, le résultat est un intervalle de jour-heure qui correspond à des unités suffisamment grandes pour représenter le résultat.
  • Sinon, le type de résultat correspond à expr1.

Si les deux expressions sont des intervalles, elles doivent être de la même classe.

Si le résultat dépasse le type du résultat, Databricks SQL retourne NULL.

Quand vous ajoutez un intervalle d’année-mois à une DATE, Databricks SQL vérifie que la date résultante est bien formée.

Exemples

> 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