div Operator

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Zwraca integralną część dzielenia według dividenddivisorwartości .

Składnia

dividend div divisor

Argumenty

  • dividend: wyrażenie, które daje w wyniku wartość liczbową lub interwałową.
  • divisor: pasujący typ interwału, jeśli dividend jest to interwał, w przeciwnym razie wartość liczbowa.

Interwał jest obsługiwany od: Databricks Runtime 10.1

Zwraca

A BIGINT, z wyjątkiem wejść DECFLOAT.

Dla wejść DECFLOAT wynik jest taki, DECFLOAT(16) gdy oba operandy są , DECFLOAT(16)a DECFLOAT(34) w przeciwnym razie . Dzielenie przez zero generuje nieskończoność lub NaN, niezależnie od trybu ANSI. DIVusuwa część ułamkową wyniku, niezależnie od .DECFLOAT_ROUNDING_MODE Zobacz DECFLOAT typ.

Dla innych typów wejść stosuje się następujące zachowanie błędu:

Jeśli divisor parametr to 0, INTERVAL '0' SECOND lub INTERVAL '0' MONTH operator zgłasza błąd DIVIDE_BY_ZERO .

Jeśli podział przepełni typ wyniku, Azure Databricks zgłasza błąd ARITHMETIC_OVERFLOW.

Uwaga

Dla wejść innych niż DECFLOAT, w Databricks Runtime, jeśli spark.sql.ansi.enabled jest , falsefunkcja zwraca NULL zamiast błędu DIVIDE_BY_ZERO .

Typowe warunki błędów

Przykłady

> 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