+
(pluszjel) operátor
A következőkre vonatkozik: Databricks SQL 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
: Haexpr1
egy numerikusexpr2
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, ésexpr2
napi időintervallum, akkor az eredmény IDŐBÉLYEG. - Ha
expr1
ésexpr2
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
ésexpr2
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