🍋 ⚾️ 💻 🎬 🎮

Tech/SQL

[SQL] ROUND, CEIL, FLOOR (반올림, 올림, 내림)

aeightchill 2025. 2. 8. 15:57
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