Sdílet prostřednictvím


+ Operátor (znaménko plus)

Platí pro:check označeno ano Kontrola Databricks SQL označená ano Databricks Runtime

Vrátí součet hodnot expr1 a expr2.

Syntaxe

expr1 + expr2

Argumenty

  • expr1: Číselný výraz, DATUM, ČASOVÉ RAZÍTKO nebo INTERVAL.
  • expr2: Pokud expr1 je číselný expr2 , musí být číselný výraz, jinak interval.

Vrátí

  • Pokud expr1 je číselný, jedná se o společný maximální typ argumentů.
  • Pokud expr1 je hodnota DATUM a expr2 jedná se o denní interval, výsledkem je časové razítko.
  • Pokud expr1 a expr2 jsou intervaly mezi rokem a měsíci, výsledkem je interval mezi rokem a měsícem s dostatečně širokými jednotkami, aby byl výsledek reprezentovaný.
  • Pokud expr1 a expr2 jsou denní intervaly, výsledkem je denní interval dostatečně širokých jednotek, aby reprezentoval výsledek.
  • V opačném případě typ výsledku odpovídá expr1.

Pokud jsou oba výrazy intervalem, musí být stejné třídy.

Když k datu přidáte interval mezi rokem a měsícem, Azure Databricks zajistí, aby výsledné datum bylo správně tvarované.

Pokud výsledek přeteče typ výsledku, Azure Databricks vyvolá chybu ARITHMETIC_OVERFLOW .

K návratu NULL k přetečení použijte try_add.

Upozornění

Pokud je falsev modulu Databricks Runtime spark.sql.ansi.enabled , přetečení nezpůsobí chybu, ale místo toho výsledek zabalí.

Příklady

> 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