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 → 반올림 여부 차이
✅ 음수 사용 가능 → 정수 부분에서 자리 절삭 가능
'기획자가 알아야 할 IT지식 > 기획자가 알아야 할 SQL' 카테고리의 다른 글
17강. 날짜 차이 및 월 단위 계산하기 (MONTHS_BETWEEN, ADD_MONTHS) (0) | 2025.03.22 |
---|---|
16강. 나머지 값을 구하는 MOD 함수 활용하기 (0) | 2025.03.22 |
14강. 문자에서 특정 철자의 위치 찾기 (INSTR) & 특정 철자를 다른 철자로 변경하기 (REPLACE) (0) | 2025.03.22 |
12강. 대소문자 변환 함수 (UPPER, LOWER, INITCAP) (0) | 2025.03.22 |
11강. 논리 연산자 - AND, OR, NOT (0) | 2025.03.22 |