본문 바로가기

[오라클 레퍼런스 함수] MOD - 나누기 후 나머지 반환

by ㅇㅍㅍ 2023. 8. 10.
[오라클 레퍼런스 함수] MOD - 나누기 후 나머지 반환
728x90

 

 

MOD

 

구문

MOD(n2, n1)

 

목적

MODn1로 나눈 나머지를 반환합니다. n1이 0이면 n2를 반환합니다.

이 함수는 숫자 데이터 타입 또는 숫자 데이터 타입으로 암묵적으로 변환될 수 있는 비숫자 데이터 타입을 인수로 사용할 수 있습니다. Oracle은 가장 높은 숫자 우선순위를 갖는 인수를 결정하고, 나머지 인수를 해당 데이터 타입으로 암묵적으로 변환한 후 해당 데이터 타입을 반환합니다.

 

참고:

  • 암묵적 변환에 대한 자세한 내용은 표 2-8을 참조하고, 숫자 우선순위에 관한 정보는 "Numeric Precedence"를 참조하세요.
  • Oracle Database Globalization Support Guide의 부록 C는 INSTR 함수가 substring 인수를 string의 부분 문자열과 비교하는 데 사용하는 정렬(collation) 결정 규칙에 대한 정보를 제공합니다.

 

예제

다음 예제는 11을 4로 나눈 나머지를 반환합니다:

SELECT MOD(11,4) "Modulus"
  FROM DUAL;

   Modulus
----------
         3

 

이 함수는 n1n2의 곱이 음수인 경우에는 전통적인 수학적 모듈러스 함수와 다르게 동작합니다. 전통적인 모듈러스는 다음과 같은 공식으로 MOD 함수를 사용하여 표현할 수 있습니다:

n2 - n1 * FLOOR(n2/n1)

 

다음 표는 MOD 함수와 전통적인 모듈러스(classical modulus) 간의 차이점을 보여줍니다:

n2 n1 MOD(n2,n1) Classical Modulus
11 4 3 3
11 -4 3 -1
-11 4 -3 1
-11 -4 -3 -3

 

참고:

FLOOR 및 REMAINDER, MOD와 유사하지만 식에서 FLOOR 대신에 ROUND를 사용합니다.


출처: 오라클 레퍼런스

원문 링크: Oracle MOD 함수 문서

 

반응형

댓글