+ (pluszjel) operátor

A következőre vonatkozik:yes Databricks SQL check marked yes Databricks Runtime

A és expr2az összegét adja eredményülexpr1.

Szintaxis

expr1 + expr2

Argumentumok

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

Visszatérési érték

  • Ha expr1 numerikus, akkor az argumentumok közös maximális típusa.
  • Ha expr1 dátum, és expr2 egy nap-idő intervallum, akkor az eredmény IDŐBÉLYEG.
  • Ha expr1 és expr2 év-hónap intervallumok, akkor az eredmény egy olyan év-hónap intervallum, amely kellően széles egységekből áll az eredmény megjelenítéséhez.
  • Ha expr1 a és expr2 a nap időintervalluma, az eredmény egy elég széles egységből álló nap-idő intervallum, amely megfelel az eredménynek.
  • 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á egy DÁTUMhoz, az Azure Databricks biztosítja, 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 jelez.

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

Figyelmeztetés

A Databricks Runtime-ban, ha a spark.sql.ansi.enabled értéke 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