try_subtract
-functie
Van toepassing op: Databricks SQL Databricks Runtime 10.4 LTS en hoger
Retourneert de aftrekking van expr2
expr1
of NULL
bij overloop.
Syntaxis
try_subtract ( expr1 , expr2 )
Argumenten
expr1
: Een numerieke, DATUM-, TIMESTAMP- of INTERVAL-expressie.expr2
: Alsexpr1
het een numeriekeexpr2
expressie is, moet een numerieke expressie of een INTERVAL anders zijn.
Retouren
- Als
expr1
dit een numerieke waarde is, wordt het algemene maximumtype van de argumenten gebruikt. - Als
expr1
het een DATUM is enexpr2
een dag-tijdsinterval is, is het resultaat een TIJDSTEMPEL. - Als
expr1
enexpr2
jaarmaandintervallen zijn, is het resultaat een interval van een jaarmaand van voldoende brede eenheden om het resultaat weer te geven. - Als
expr1
enexpr2
dag-tijdintervallen zijn, is het resultaat een dag-tijdsinterval van voldoende brede eenheden om het resultaat weer te geven. - Anders komt het resultaattype overeen
expr1
.
Als beide expressies interval zijn, moeten ze van dezelfde klasse zijn.
Als het resultaat overloopt, retourneert Databricks SQL NULL.
Wanneer u een jaarmaandinterval aftrekken van een DATUM Databricks SQL, zorgt u ervoor dat de resulterende datum goed is opgemaakt.
Voorbeelden
> 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