Funzione try_subtract
Si applica a: Databricks SQL Databricks Runtime 10.4 LTS e versioni successive
Restituisce la sottrazione di expr2
da expr1
o NULL
in caso di overflow.
Sintassi
try_subtract ( expr1 , expr2 )
Argomenti
expr1
: espressione numerica, DATE, TIMESTAMP o INTERVAL.expr2
: seexpr1
è un'espressione numericaexpr2
deve essere un'espressione numerica o un intervallo in caso contrario.
Valori restituiti
- Se
expr1
è un valore numerico, il tipo massimo comune degli argomenti. - Se
expr1
è una data eexpr2
è un intervallo di tempo di giorno, il risultato è timeSTAMP. - Se
expr1
eexpr2
sono intervalli anno-mese, il risultato è un intervallo di mesi di anno di unità sufficientemente ampie per rappresentare il risultato. - Se
expr1
eexpr2
sono intervalli di tempo di giorno, il risultato è un intervallo di tempo di giorno di unità sufficientemente ampie per rappresentare il risultato. - In caso contrario, il tipo di risultato corrisponde a
expr1
.
Se entrambe le espressioni sono intervallo, devono essere della stessa classe.
Se il risultato supera il tipo di risultato Databricks SQL restituisce NULL.
Quando si sottrae un intervallo di mesi di anno da un oggetto DATE Databricks SQL, la data risultante sarà ben formata.
Esempi
> 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