[Oracle] 몫, 나머지 구하는 방법 (MOD, TRUNC)

오라클에서 나눈 값의 몫과 나머지를 구하기 위해서는 TRUNC 함수와 MOD 함수를 사용하면 된다. TRUNC 함수를 사용하여 나눈 값의 소수점 이하의 값을 절사하고 몫을 구할 수 있으며, MOD 함수를 사용하여 나머지 값을 구할 수 있다. FLOOR 함수를 사용하여 몫을 구할 수 있지만 나눈 값이 음수인 경우 의도하지 값이 반환될 수 있으니 주의해야 한다.

 

오라클 몫, 나머지 구하는 방법

목차
  1. 몫, 나머지 구하는 방법 (MOD, TRUNC)
  2. 몫 구할 때 주의할 점 (TRUNC, FLOOR)

 

몫, 나머지 구하는 방법 (MOD, TRUNC)

SELECT 10 / 3
     , TRUNC(10 / 3)
     , MOD(10, 3)
  FROM dual

 

 

몫 : TRUNC("나눈 값"

나머지: MOD("피제수", "제수")

 

나눈 값에서 TRUNC 함수를 사용하여 소수점 이하의 값을 버리고 몫만 구할 수 있으며, MOD 함수를 사용하여 나머지 값만 구할 수 있다. TRUNC 함수 대신 FLOOR 함수를 사용하여 몫을 구할 수 있다.

 

몫 구할 때 주의할 점 (TRUNC, FLOOR)

나눈 값이 양수(+)인 경우

SELECT 10 / 3
     , TRUNC(10 / 3)
     , FLOOR(10 / 3)
  FROM dual

 

 

나눈 값이 양수 인경우 TRUNC, FLOOR 함수를 사용하여 몫을 구할 수 있다. TRUNC 함수는 오라클 전용 함수이며, FLOOR 함수는 다른 DB의 SQL에서도 사용할 수 있기 때문에 장점이 있다.

 

나눈 값이 음수(-)인 경우 (FLOOR 함수 사용 시 주의)

SELECT -10 / 3
     , TRUNC(-10 / 3)
     , FLOOR(-10 / 3)
  FROM dual

 

 

나눈 값이 음수인 경우 FLOOR 함수를 사용하여 몫을 구할 때 주의해야 한다. FLOOR 함수는 현재 값에서 최소 정수를 반환하는 기능이기 때문에 -3.3에 가깝고 가장 작은 정수인 -4를 반환한다.

 

 

[Oracle] CEIL, FLOOR 함수 사용법

오라클에서 소수점 값을 올리거나 내려서 정수를 변환하기 위해서는 CEIL, FLOOR 함수를 사용한다. CEIL 함수는 지정한 값에 소수점이 있는 경우 무조건 올려서 다음 정수 값을 반환한다. FLOOR 함수

gent.tistory.com

 

[Oracle] TRUNC 함수 사용법

오라클(Oracle) TRUNC 함수 사용법 TRUNC 함수는 오라클의 아주 기본적인 함수이다. 단순 절사기능만 사용했다면 아래의 다양한 옵션을 익히면 조금 더 활용도를 높일 수 있다. TRUNC 함수TRUNC 함수는

gent.tistory.com

 

댓글

Designed by JB FACTORY