본문 바로가기
기획자가 알아야 할 IT지식/기획자가 알아야 할 SQL

15강. 숫자 반올림하기 (ROUND) & 특정 자리에서 절삭하기 (TRUNC)

by 일잘러로 살기 2025. 3. 22.

SQL에서 숫자를 다룰 때 소수점을 반올림(ROUND)하거나, 특정 자리에서 절삭(TRUNC) 하는 경우가 많습니다.
이번 강의에서는 ROUND(반올림), TRUNC(절삭) 함수에 대해 배우겠습니다.


✅ 1. ROUND 함수 (반올림)

ROUND(숫자, 반올림할 자릿수) 함수는 지정한 자릿수에서 반올림하는 기능을 합니다.

  • 숫자: 반올림할 대상 숫자
  • 반올림할 자릿수 (선택 사항): 반올림할 소수점 위치 (기본값: 0 → 정수로 반올림)

📌 기본 사용법

SELECT ROUND(12.345, 2) AS result FROM dual;


📌 실행 결과

설명: 12.345에서 소수점 둘째 자리(2)까지 표시하고 반올림하여 12.35가 출력되었습니다.


📌 정수로 반올림하기 (소수점 이하 없애기)

SELECT ROUND(12.789) AS result FROM dual;


📌 실행 결과

설명: 반올림할 자릿수를 지정하지 않으면 0을 기본값으로 간주하여 12.789 → 13으로 반올림합니다.


📌 음수를 사용하여 정수 자리 반올림

SELECT ROUND(12345, -2) AS result FROM dual;


📌 실행 결과

설명: -2를 사용하면 소수점 기준으로 왼쪽 두 자리(십의 자리, 일의 자리)를 0으로 반올림합니다.


✅ 2. TRUNC 함수 (절삭, 버림)

TRUNC(숫자, 절삭할 자릿수) 함수는 지정한 자리에서 숫자를 절삭(버림) 하는 기능을 합니다.

  • 숫자: 절삭할 대상 숫자
  • 절삭할 자릿수 (선택 사항): 소수점 이하 절삭할 위치 (기본값: 0 → 정수 부분만 남김)

📌 기본 사용법

SELECT TRUNC(12.789, 2) AS result FROM dual;


📌 실행 결과

설명: 12.789에서 소수점 둘째 자리까지 유지하고 나머지 절삭하여 12.78이 출력되었습니다.


📌 정수만 남기기 (소수점 이하 제거)

SELECT TRUNC(12.789) AS result FROM dual;


📌 실행 결과

설명: 반올림 없이 소수점을 버려서 12가 출력되었습니다.


📌 음수를 사용하여 정수 자리 절삭

SELECT TRUNC(12345, -2) AS result FROM dual;


📌 실행 결과

설명: -2를 사용하면 일의 자리, 십의 자리 절삭(0으로 변경) 되며 12345 → 12300이 됩니다.


✅ 3. ROUND vs TRUNC 차이점

ROUND는 소수점 자리에서 반올림하고,
TRUNC는 소수점을 그냥 절삭(버림)하는 차이가 있습니다.


✅ 4. 실전 예제 - 반올림과 절삭 활용하기

📌 상품 가격을 소수 첫째 자리에서 반올림

SELECT product_name, price, ROUND(price, 1) AS rounded_price
  FROM products;


📌 실행 결과

활용 예시: 상품 가격을 소수점 첫째 자리까지 반올림하여 표시할 때 사용됩니다.


📌 연봉을 만 단위로 절삭하여 표시

SELECT employee_name, salary, TRUNC(salary, -4) AS truncated_salary
  FROM employees;


📌 실행 결과

활용 예시: 급여를 반올림 없이 절삭하여 만 단위로 정리할 때 유용합니다.


✅ 5. 정리

ROUND(숫자, 자릿수) → 지정한 자릿수에서 반올림
TRUNC(숫자, 자릿수) → 지정한 자릿수에서 절삭(버림)
ROUND vs TRUNC → 반올림 여부 차이
음수 사용 가능 → 정수 부분에서 자리 절삭 가능