div operator

Applies to: check marked yes Databricks SQL check marked yes Databricks Runtime

Returns the integral part of the division of dividend by divisor.

Syntax

dividend div divisor

Arguments

  • dividend: An expression that evaluates to a numeric or interval.
  • divisor: A matching interval type if dividend is an interval, a numeric otherwise.

Interval is supported since: Databricks Runtime 10.1

Returns

A BIGINT, except for DECFLOAT inputs.

For DECFLOAT inputs, the result is DECFLOAT(16) when both operands are DECFLOAT(16), and DECFLOAT(34) otherwise. Division by zero produces infinity or NaN, regardless of ANSI mode. DIV removes the fractional part of the result, regardless of DECFLOAT_ROUNDING_MODE. See DECFLOAT type.

For other input types, the following error behavior applies:

If divisor is 0, INTERVAL '0' SECOND or INTERVAL '0' MONTH the operator raises a DIVIDE_BY_ZERO error.

If the division overflows the result type, Azure Databricks raises an ARITHMETIC_OVERFLOW error.

Note

For inputs other than DECFLOAT, in Databricks Runtime, if spark.sql.ansi.enabled is false, the function returns NULL instead of a DIVIDE_BY_ZERO error.

Common error conditions

Examples

> 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