본문 바로가기
Database

오라클 SQL 숫자 함수: ROUND, TRUNC, MOD

by 굿센스굿 2024. 12. 3.
반응형


목차

  1. 숫자 함수 개요
  2. ROUND 함수
  3. TRUNC 함수
  4. MOD 함수
  5. 예제

1. 숫자 함수 개요

오라클 SQL에서 제공하는 숫자 함수는 다양한 수치 연산을 간편하게 수행할 수 있게 합니다. 이 글에서는 자주 사용되는 세 가지 숫자 함수인 ROUND, TRUNC, MOD에 대해 설명하고, 각각의 사용법과 예제를 통해 이해를 돕겠습니다.


2. ROUND 함수

ROUND 함수는 소수점 이하 숫자를 반올림하여 지정한 자리수까지 반환하는 함수입니다. 주로 수치 데이터를 원하는 자리수까지 반올림할 때 사용합니다.

2.1. 구문

ROUND(number, decimal_places)
  • number: 반올림할 숫자.
  • decimal_places: 반올림할 소수점 자리수. 생략 시 기본값은 0.

2.2. 예제

  • 소수점 첫째 자리까지 반올림:
  • SELECT ROUND(123.456, 1) AS rounded_value FROM DUAL; -- 결과: 123.5
  • 소수점 둘째 자리까지 반올림:
  • SELECT ROUND(123.456, 2) AS rounded_value FROM DUAL; -- 결과: 123.46
  • 정수 자리에서 반올림:
  • SELECT ROUND(123.456, -1) AS rounded_value FROM DUAL; -- 결과: 120

3. TRUNC 함수

TRUNC 함수는 지정한 자리수까지만 남기고 나머지 소수점 이하 숫자를 버리는 함수입니다. 반올림이 아닌 단순히 절단(truncation)하는 역할을 합니다.

3.1. 구문

TRUNC(number, decimal_places)
  • number: 절단할 숫자.
  • decimal_places: 남길 소수점 자리수. 생략 시 기본값은 0.

3.2. 예제

  • 소수점 첫째 자리까지만 남기기:
  • SELECT TRUNC(123.456, 1) AS truncated_value FROM DUAL; -- 결과: 123.4
  • 소수점 둘째 자리까지만 남기기:
  • SELECT TRUNC(123.456, 2) AS truncated_value FROM DUAL; -- 결과: 123.45
  • 정수 자리까지 절단:
  • SELECT TRUNC(123.456, -1) AS truncated_value FROM DUAL; -- 결과: 120

4. MOD 함수

MOD 함수는 두 숫자를 나눈 나머지를 반환하는 함수입니다. 주로 숫자를 특정 기준으로 나누어 떨어지는지 확인하거나, 순환 패턴을 구현할 때 사용합니다.

4.1. 구문

MOD(number1, number2)
  • number1: 나눠지는 숫자.
  • number2: 나누는 숫자.

4.2. 예제

  • 10을 3으로 나눈 나머지:
  • SELECT MOD(10, 3) AS mod_value FROM DUAL; -- 결과: 1
  • 25를 4로 나눈 나머지:
  • SELECT MOD(25, 4) AS mod_value FROM DUAL; -- 결과: 1
  • 음수를 포함한 나눗셈:
  • SELECT MOD(-10, 3) AS mod_value FROM DUAL; -- 결과: -1

5. 예제

다음은 ROUND, TRUNC, MOD 함수를 실제 데이터베이스 테이블에서 사용하는 예제입니다. 이 예제에서는 직원 테이블을 사용하여 각 함수의 활용법을 보여줍니다.

예제 1: 급여 반올림

EMPLOYEES 테이블에서 직원의 급여를 소수점 첫째 자리까지 반올림합니다.

SELECT 
  employee_id,
  salary,
  ROUND(salary, 1) AS rounded_salary
FROM 
  employees;

예제 2: 급여 절단

EMPLOYEES 테이블에서 직원의 급여를 소수점 첫째 자리까지 절단합니다.

SELECT 
  employee_id,
  salary,
  TRUNC(salary, 1) AS truncated_salary
FROM 
  employees;

예제 3: 고유 번호 나머지 계산

EMPLOYEES 테이블에서 직원 ID를 5로 나눈 나머지를 계산하여 고유 번호 패턴을 확인합니다.

SELECT 
  employee_id,
  MOD(employee_id, 5) AS mod_value
FROM 
  employees;

위의 예제들을 통해 ROUND, TRUNC, MOD 함수의 다양한 활용 방법을 익힐 수 있습니다. 이러한 숫자 함수는 데이터 처리와 분석에 있어 매우 유용하며, 다양한 상황에서 유용하게 사용될 수 있습니다. 오라클 SQL을 보다 효과적으로 사용하기 위해 이러한 함수를 충분히 이해하고 활용해 보세요.

반응형