Megosztás a következőn keresztül:


+ (pluszjel) operátor

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Az és a . összegének expr1 expr2értékét adja vissza.

Syntax

expr1 + expr2

Argumentumok

  • expr1: Numerikus, DÁTUM, IDŐBÉLYEG vagy INTERVALLUM kifejezés.
  • expr2: Ha expr1 egy numerikus expr2 kifejezésnek numerikus kifejezésnek vagy intervallumnak kell lennie.

Válaszok

  • Ha expr1 numerikus, akkor az argumentumok közös maximális típusa.
  • Ha expr1 dátum, és expr2 napi időintervallum, akkor az eredmény IDŐBÉLYEG.
  • Ha expr1 és expr2 vannak évhavi intervallumok, az eredmény egy olyan év-hónap intervallum, amely kellően széles egységekből áll, hogy az eredményt képviselje.
  • Ha expr1 és expr2 vannak nap-idő intervallumok, az eredmény egy olyan nap-idő intervallum, amely elegendően széles egységekből áll az eredmény megjelenítéséhez.
  • Ellenkező esetben az eredmény típusa megegyezik expr1.

Ha mindkét kifejezés intervallum, akkor azonos osztályba kell tartozniuk.

Ha egy év-hónap intervallumot ad hozzá a DATE-hez, az Azure Databricks gondoskodik arról, hogy az eredményként kapott dátum megfelelően legyen formázva.

Ha az eredmény túlcsordul az eredménytípuson, az Azure Databricks ARITHMETIC_OVERFLOW hibát okoz.

A try_add használatával visszatérhet NULL a túlcsorduláshoz.

Figyelmeztetés

A Databricks Futtatókörnyezetben, ha spark.sql.ansi.enabled van false, a túlcsordulás nem okoz hibát, hanem "körbefuttatja" az eredményt.

Példák

> 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