+
(pluszjel) operátor
A következőre vonatkozik: Databricks SQL Databricks Runtime
A és expr2
az összegét adja eredményülexpr1
.
Szintaxis
expr1 + expr2
Argumentumok
expr1
: Numerikus, DÁTUM, IDŐBÉLYEG vagy INTERVALLUM kifejezés.expr2
: Haexpr1
numerikusexpr2
, 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, ésexpr2
egy nap-idő intervallum, akkor az eredmény IDŐBÉLYEG. - Ha
expr1
ésexpr2
é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 ésexpr2
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