Fonction try_add
S’applique à : Databricks SQL 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
: siexpr1
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 queexpr2
est un intervalle de jour-heure, le résultat est de type TIMESTAMP. - Si
expr1
etexpr2
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
etexpr2
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