div operatore

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Restituisce la parte integrante della divisione di dividend per divisor.

Sintassi

dividend div divisor

Argomenti

  • dividend: espressione che restituisce un valore numerico o intervallo.
  • divisor: tipo di intervallo corrispondente se dividend è un intervallo, un valore numerico in caso contrario.

L'intervallo è supportato perché Databricks Runtime 10.1

Valori restituiti

A BIGINT, tranne per gli input DECFLOAT.

Per gli ingressi DECFLOAT, il risultato è DECFLOAT(16) quando entrambi gli operandi sono DECFLOAT(16), e DECFLOAT(34) altrimenti. Dividere per zero produce infinito o NaN, indipendentemente dalla modalità ANSI. DIV rimuove la parte frazionaria del risultato, indipendentemente da DECFLOAT_ROUNDING_MODE. Vedere DECFLOAT tipo.

Per altri tipi di input, si applica il seguente comportamento di errore:

Se divisor è 0o INTERVAL '0' SECONDINTERVAL '0' MONTH l'operatore genera un errore di DIVIDE_BY_ZERO .

Se la divisione esegue l'overflow del tipo di risultato, Azure Databricks genera un errore ARITHMETIC_OVERFLOW.

Nota

Per input diversi da DECFLOAT, in Databricks Runtime, se spark.sql.ansi.enabled è false, la funzione restituisce NULL invece di un errore DIVIDE_BY_ZERO .

Condizioni di errore comuni

Esempi

> SELECT 3 div 2;
 1
> SELECT -5.9 div 1;
 -5

> SELECT -5.9 div 0;
 Error: DIVIDE_BY_ZERO

> SELECT INTERVAL '100' HOUR div INTERVAL '1' DAY;
 4