728x90
❏ ROUND() → 반올림
❏ CEIL() → 올림
❏ FLOOR() → 내림
📌 ROUND (반올림)
ROUND() 함수는 숫자를 반올림하여 지정한 자릿수까지 표현하는 함수
기본
ROUND(number, decimal_places)
- number : 반올림 할 숫자
- decimal_places : 소수점 이하 몇 자리까지 반올림할지 지정 (생략 가능, 기본값은 0)
정수로 반올림 (소수점 이하 없음)
SELECT ROUND(12.75);
실행 결과 >
12.75 → 소수 첫째 자리(0.75)를 기준으로 반올림하여 13이 된다.
round |
13 |
반올림 (소수점 이하 1자리까지)
SELECT ROUND(12.746, 1);
실행 결과 >
12.746 → 소수점 둘째 자리(0.04)를 기준으로 반올림하여 12.7이 된다.
round |
12.7 |
반올림 (소수점 이하 2자리까지)
SELECT ROUND(12.746, 2);
실행 결과 >
12.746 → 소수점 셋째 자리(0.006)를 기준으로 반올림하여 12.75가 된다.
round |
12.75 |
음수를 사용하여 정수 자리 반올림
SELECT ROUND(1275, -2);
실행 결과 >
1275 → 십의 자리(75)를 기준으로 반올림하여 1300이 된다.
round |
1300 |
📌 CEIL (올림)
CEIL() 함수는 소수점이 존재하면 무조건 올려서 가장 가까운 정수로 반환하는 함수
SELECT CEIL(number);
- number : 올림할 숫자
예제
SELECT CEIL(12.3), CEIL(12.9), CEIL(-12.3), CEIL(-12.9);
실행 결과 >
양수는 무조건 큰 정수로, 음수는 절댓값이 작은 정수로 올림
CEIL(12.3) | CEIL(12.9) | CEIL(-12.3) | CEIL(-12.9) |
13 | 13 | -12 | -12 |
📌 FLOOR (내림)
FLOOR() 함수는 소수점이 존재하면 무조건 내려서 가장 가까운 정수로 반환하는 함수
SELECT FLOOR(number);
- number : 내림할 숫자
예제
SELECT FLOOR(12.3), FLOOR(12.9), FLOOR(-12.3), FLOOR(-12.9);
실행 결과 >
양수는 무조건 작은 정수로, 음수는 절댓값이 큰 정수로 내림
CEIL(12.3) | CEIL(12.9) | CEIL(-12.3) | CEIL(-12.9) |
12 | 12 | -13 | -13 |
📌 ROUND() vs CEIL() vs FLOOR()
함수 | 설명 | 예시 : 12.7 | 예시 : -12.7 |
ROUND(x) | x를 반올림 | 13 | -13 |
CEIL(x) | x를 올림 (양수) 소수점 버리고 정수부에 +1 (음수) 소수점 버리기 |
13 | -12 |
FLOOR(x) | x를 내림 (양수) 소수점 버리기 (음수) 소수점 버리고 정수부에 -1 |
12 | -13 |
예시
SELECT ROUND(12.45), CEIL(12.45), FLOOR(12.45);
실행 결과>
ROUND | CEIL | FLOOR |
12 | 13 | 12 |
❌ CEIL( ) / FLOOR( ) 는 소수점 자릿수를 지정할 수 없다.
SELECT CEIL(12.345, 2); -- 오류 발생
SELECT FLOOR(12.345, 2); -- 오류 발생
ERROR: function ceil(numeric, integer) does not exist
→ CEIL( )과 FLOOR( )는 오직 하나의 인자(숫자)만 받는다.
728x90
'Tech > SQL' 카테고리의 다른 글
[SQL] DATE_FORMAT (MySQL) (0) | 2025.04.06 |
---|---|
[SQL] JOIN(조인) (0) | 2025.02.10 |
[SQL] COALESCE (0) | 2025.02.08 |
[SQL] CASE WHEN (0) | 2025.02.08 |
[SQL] WITH AS (Common Table Expression, CTE) (0) | 2025.02.08 |