Oracle MOD() Function
Oracle MOD() is a built-in function that returns the remainder after dividing two specified numbers.
Oracle MOD() syntax
Here is the syntax for the Oracle MOD() function:
MOD(y, x)
Parameters
y-
Required. dividend.
x-
Required. divisor.
y and x can be any numeric data type or any non-numeric data type that can be implicitly converted to a numeric data type.
Return Value
The Oracle MOD(y, x) function returns the remainder of y divided by x, which is the remainder of y/x.
If x is 0, the MOD(y, x) function returns y.
If any parameter is NULL, MOD() will return NULL.
Oracle MOD() Examples
Here are some examples that demonstrate the usage of the Oracle MOD() function.
Basic Usage
SELECT
MOD(3, 2),
MOD(3.3, 1.2)
FROM dual;
Output:
MOD(3,2) MOD(3.3,1.2)
___________ _______________
1 0.9Negative numbers
When the product of two parameters is a negative number, the algorithm for calculating the modulus in Oracle is different from the classical algorithm. The following example illustrates all this:
SELECT
11 "y",
4 "x",
MOD(11, 4) "MOD(y,x)",
11 - 4 * FLOOR(11/4) "Classical"
FROM DUAL
UNION ALL
SELECT
11,
-4,
MOD(11, -4),
11 - -4 * FLOOR(11/-4)
FROM DUAL
UNION ALL
SELECT
-11,
4,
MOD(-11, 4),
-11 - 4 * FLOOR(-11/4)
FROM DUAL
UNION ALL
SELECT
-11,
-4,
MOD(-11, -4),
-11 - -4 * FLOOR(-11/-4)
FROM DUAL;
Output:
y x MOD(y,x) Classical
______ _____ ___________ ____________
11 4 3 3
11 -4 3 -1
-11 4 -3 1
-11 -4 -3 -3NULL Parameters
If any parameter is NULL, MOD() will return NULL.
SET NULL 'NULL';
SELECT
MOD(1, NULL),
MOD(NULL, 1),
MOD(NULL, NULL)
FROM dual;
Output:
MOD(1,NULL) MOD(NULL,1) MOD(NULL,NULL)
______________ ______________ _________________
NULL NULL NULLIn this example, we use the statement SET NULL 'NULL'; to display NULL values as the string 'NULL'.
Conclusion
Oracle MOD() is a built-in function that returns the remainder after dividing two specified numbers.