이번 포스팅에서는 숫자 데이터를 가공하거나 계산할 때 사용하는 SQL 숫자 함수를 정리합니다. 급여, 예산, 수량 등 수치형 필드는 실무에서 가장 흔하게 다루는 데이터 타입 중 하나입니다.
다루는 함수 목록:
ABS()
CEIL() / FLOOR()
ROUND()
SQRT()
💡 모든 예시는 지난 예시와 동일한 company_db의 employees 및 projects 테이블을 기반으로 작성됩니다.
1. ABS(number) — 절대값 반환
✔️ 사용 목적
- 음수를 양수로 바꿉니다.
- 예산 초과/미달 계산, 차이 분석 등에 유용합니다.
✔️ 예제
SELECT salary, salary - 6000 AS diff,
ABS(salary - 6000) AS abs_diff
FROM employees;
예시 결과:
| salary | diff | abs_diff |
|---|
| 6500.50 | 500.50 | 500.50 |
| 5400.00 | -600.0 | 600.00 |
2. CEIL(number) / FLOOR(number) — 올림 / 내림
✔️ 사용 목적
- 소수점 단위를 정리할 때 사용합니다.
- 금액 계산, UI 출력 정리 등에서 활용됩니다.
✔️ 예제
SELECT salary,
CEIL(salary) AS ceiling,
FLOOR(salary) AS floored
FROM employees;
예시 결과:
| salary | ceiling | floored |
|---|
| 6500.50 | 6501 | 6500 |
| 5400.00 | 5400 | 5400 |
3. ROUND(number, decimals) — 반올림
✔️ 사용 목적
- 소수점 이하를 지정된 자리수까지 반올림합니다.
- 보고용 금액 표기, 수치 정리에 자주 쓰입니다.
✔️ 예제
SELECT salary,
ROUND(salary, 0) AS rounded_0,
ROUND(salary, 1) AS rounded_1
FROM employees;
예시 결과:
| salary | rounded_0 | rounded_1 |
|---|
| 6500.50 | 6501 | 6500.5 |
| 5400.00 | 5400 | 5400.0 |
4. SQRT(number) — 제곱근
✔️ 사용 목적
- 수학적 분석이 필요한 경우, 예: 거리 계산, 통계 처리 등
✔️ 예제
SELECT salary,
SQRT(salary) AS sqrt_salary
FROM employees;
예시 결과:
| salary | sqrt_salary |
|---|
| 6500.50 | 80.62 |
| 5400.00 | 73.48 |
| 7100.00 | 84.26 |
✅ 정리 요약: 숫자 함수 비교
| 함수 | 기능 요약 | 활용 예시 |
|---|
ABS() | 절대값 반환 | 차이 비교 시 부호 제거 |
CEIL() | 올림 (소수점 올림) | 금액 반올림 처리, 가격 조정 |
FLOOR() | 내림 (소수점 버림) | 범위 설정, 가격 절삭 |
ROUND() | 지정 자릿수 반올림 | 보고서 수치 표기, 그래프용 정리 |
SQRT() | 제곱근 계산 | 통계 계산, 거리 계산 |
다음 포스팅에서는 서브쿼리를 좀 더 다양하게 다뤄봅시다!🙋♂️