Share via


Funzione try_subtract

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 10.4 LTS e versioni successive

Restituisce la sottrazione di expr2 da expr1o NULL in caso di overflow.

Sintassi

try_subtract ( expr1 , expr2 )

Argomenti

  • expr1: espressione numerica, DATE, TIMESTAMP o INTERVAL.
  • expr2: se expr1 è un'espressione numerica expr2 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 e expr2 è un intervallo di tempo di giorno, il risultato è timeSTAMP.
  • Se expr1 e expr2 sono intervalli anno-mese, il risultato è un intervallo di mesi di anno di unità sufficientemente ampie per rappresentare il risultato.
  • Se expr1 e expr2 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