IT

[오라클/함수] 나머지 함수 MOD 와 REMAINDER 차이점

생각파워 2016. 11. 23. 16:31

Syntax

 

Description of mod.gif follows

 

Description of remainder.gif follows

 

 

 

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

 

 

세부 동작 로직을 잘 살펴보고 맞는 곳에 사용하시면 됩니다. 

반응형