Sdílet prostřednictvím


+ (znaménko plus) – operátor

Platí pro: zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Vrátí součet a expr1 expr2.

Syntaxe

expr1 + expr2

Argumenty

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

Návraty

  • Pokud expr1 je argument číselný, jedná se o společný maximální typ argumentů.
  • Pokud expr1 je datem a expr2 jedná se o denní interval, výsledkem je časové razítko.
  • Pokud expr1 a expr2 jsou intervaly mezi rokem, je výsledkem interval rok-měsíc dostatečně širokých jednotek, aby představoval výsledek.
  • Pokud expr1 se jedná o expr2 denní intervaly, je výsledkem denní interval dostatečně širokých jednotek, aby představoval výsledek.
  • V opačném případě se typ výsledku shoduje expr1.

Pokud jsou oba výrazy interval, musí mít stejnou třídu.

Když k datu přidáte interval pro rok, Azure Databricks zajistí, že výsledné datum bude správně vytvořené.

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

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

Upozorňující

Pokud je ve službě Databricks Runtime spark.sql.ansi.enabled false, 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