A try_subtract
függvény
A következőkre vonatkozik: Databricks SQL Databricks Runtime 10.4 LTS és újabb
A kivonást adja vissza a expr2
forrásból expr1
vagy NULL
a túlcsordulásból.
Syntax
try_subtract ( 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 az eredmény túlcsordul, a Databricks SQL eredménytípus null értéket ad vissza.
Ha kivon egy év-hónap intervallumot egy DATE Databricks SQL-ből, az biztosítja, hogy az eredményül kapott dátum megfelelően legyen formázva.
Példák
> SELECT try_subtract(1, 2);
-1
> SELECT try_subtract(DATE'2021-03-20', INTERVAL '2' MONTH);
2021-1-20
> SELECT try_subtract(TIMESTAMP'2021-03-20 12:15:29', INTERVAL '3' SECOND);
2021-03-20 12:15:26
> SELECT typeof(try_subtract(INTERVAL '3' DAY, INTERVAL '2' HOUR));
interval day to hour
> SELECT try_subtract(DATE'2021-03-31', INTERVAL '1' MONTH);
2021-02-28
> SELECT try_subtract(-128Y, 1Y);
NULL