Syntax
Purpose
오라클에서 MOD함수와 REMAINDER 함수는 나머지를 구하는 함수로 알려져 있습니다. 그런데 둘다 똑같은 나머지를 반환한다면 함수가 두개일 필요가 없겠지요. 두 함수가 동일하게 나머지를 리턴하는 것은 맞지만, 내부적으로 돌아가는 로직이 약간 차이가 있습니다.
식을 살펴보면,
MOD(n2, n1) =
SIGN(n2) * (ABS(n2) - (ABS(n1) * FLOOR(ABS(n2)/ABS(n1)))
REMAINDER(n2, n1) =
n2 - n1 * ROUND(n2,n1)
이렇게 계산되어 집니다. 계산식이 복잡해 보이기는 하는데, 별건 없습니다. MOD함수의 인자에 절댓값을 넣어준다는거와 MOD함수에는 FLOOR함수가 사용되고, REMAINDER함수에는 ROUND함수가 사용된다는 차이가 있습니다.
예제를 보시겠습니다.
Examples
세부 동작 로직을 잘 살펴보고 맞는 곳에 사용하시면 됩니다.
반응형
'IT' 카테고리의 다른 글
[오라클/함수] 양수,0, 음수인지 판단하는 SIGN 함수 (0) | 2016.11.24 |
---|---|
[오라클/함수] 반올림 함수 ROUND (1) | 2016.11.23 |
[오라클/함수] 제곱근 함수 SQRT() (0) | 2016.11.18 |
[오라클/함수] 제곱함수 POWER() (0) | 2016.11.18 |
[오라클/함수] 나머지 값 계산 함수 MOD (0) | 2016.11.15 |