DB/MySQL

[MySQL] SQL ROUND, FLOOR, CEIL 함수

동호다찌 2022. 4. 1. 13:43
반응형

 

ROUND 란?

ROUND 는 정해진 자릿수에 따라 반올림을 하는 역활을 하는 함수입니다.

  • 구하려는 소수점 자리수의 한 자리 아래의 숫자를 반올림 혹은 버림한다.
  • 반올림 여부의 값을 0 또는 생략할 경우 반올림, 음수값일 경우 버림

먼저 반올림의 의미를 알아보자.

  • 반올림이란 구하려는 자리의 한 자리 아래 숫자가 0, 1, 2, 3, 4 일 경우 버리고
    5, 6, 7, 8, 9 일 경우 올리는 방법을 뜻한다.

ROUND 사용법

ROUND(숫자(컬럼), (반올림 기준))

  • 숫자(컬럼) : 반올림할 대상 숫자
  • 반올림 기준 : 소수점 자릿 수 지정(필수 아님)
    지정하지 않을 경우 소수점 첫번째 자리를 사용한다.
SELECT ROUND(10.349) 	-- 10
SELECT ROUND(10.349, 1) -- 10.3
SELECT ROUND(10.349, 2) -- 10.35 
SELECT ROUND(10.349, -1) -- 10

SELECT ROUND(11.546) 	-- 12
SELECT ROUND(11.546, 1) -- 11.5
SELECT ROUND(11.546, 2) -- 11.54 
SELECT ROUND(11.546, -1) -- 10
  • 여기서 특이한 점은 반올림 기준을 정하는 자릿 수에서 -1을 붙일 경우 소수점 기준으로
    오른쪽이 아닌 왼쪽을 반올림 대상을 정하는 것이다.
SELECT ROUND(12,-1) -- 10
SELECT ROUND(24,-1) -- 20
SELECT ROUND(36,-1) -- 40
SELECT ROUND(48,-1) -- 50

CEILING 란?

CEILING 은 소수점 이하를 무조건 올리는 역활을 하는 함수입니다.

  • ROUND와 달리 CEILING은 무조건 정수값으로 출력된다.

CEILING 사용법

CEILING(숫자)

  • 숫자 : 반올림할 대상 숫자
    • 무조건 올림처리를 사용하기 때문에 자릿수 지정이 없다.
SELECT CEILING(21.35) -- 22 
SELECT CEILING(21.9) -- 22

FLOOR란?

FLOOR 는 소수점 이하를 무조건 버리는 역활을 하는 함수입니다.

  • CEILING과 마찬가지로 정수값으로 출력된다.

FLOOR 사용법

FLOOR(숫자)

SELECT CEILING(21.35) -- 21 
SELECT CEILING(21.9) -- 21
반응형