A try_subtract függvény

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 10.4 LTS és újabb

A kivonást adja vissza a expr2 forrásból expr1vagy NULL a túlcsordulásból.

Syntax

try_subtract ( 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 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