+
Opérateur + (signe plus)
S’applique à : Databricks SQL Databricks Runtime
Retourne la somme des valeurs expr1
et expr2
.
Syntaxe
expr1 + expr2
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.
Quand vous ajoutez un intervalle d’année-mois à une DATE, Azure Databricks vérifie que la date résultante est correctement mise en forme.
Si le résultat dépasse le type de résultat, Azure Databricks génère une erreur ARITHMETIC_OVERFLOW.
Utilisez try_add pour retourner NULL
en cas de dépassement de capacité.
Avertissement
Dans Databricks Runtime, si spark.sql.ansi.enabled est false
, un dépassement ne provoque pas d’erreur, mais « enveloppe » le résultat à la place.
Exemples
> 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