MOD 함수는 첫 번째 인자 m을 두 번째 인자 n으로 나눈 나머지 값을 정수로 반환하며, 만약 n이 0이면, 나누기 연산을 수행하지 않고 m 값을 그대로 반환한다.
주의할 점은 피제수, 즉 MOD 함수의 인자 m이 음수인 경우, 전형적인 연산(classical modulus) 방식과 다르게 동작한다는 점이다. 아래의 표를 참고한다.
MOD 함수의 결과
m |
n |
MOD(m, n) |
Classical Modulus |
---|---|---|---|
11 |
4 |
3 |
3 |
11 |
-4 |
3 |
-1 |
-11 |
4 |
-3 |
1 |
-11 |
-4 |
-3 |
-3 |
11 |
0 |
11 |
0으로 나누기 에러 |
MOD(m, n)
--it returns the reminder of m divided by n
SELECT MOD(11, 4), MOD(11, -4), MOD(-11, 4), MOD(-11, -4), MOD(11,0);
mod(11, 4) mod(11, -4) mod(-11, 4) mod(-11, -4) mod(11, 0)
=====================================================================
3 3 -3 -3 11
SELECT MOD(11.0, 4), MOD(11.000, 4), MOD(11, 4.0), MOD(11, 4.000);
mod(11.0, 4) mod(11.000, 4) mod(11, 4.0) mod(11, 4.000)
=========================================================================
3.0 3.000 3.0 3.000