[MySQL] ROUND() - 숫자를 반올림하여 수치형으로 반환

켈로그·2025년 6월 11일

SQL

목록 보기
14/20

물론입니다. 아래는 SQL의 ROUND() 함수에 대한 블로그 마크다운 형식 설명과 FORMAT() 함수와의 비교 정리입니다.


SQL에서 숫자 값을 반올림하고 싶을 때 사용하는 함수입니다.

ROUND(숫자, 소수점_자리수)

인자설명
숫자반올림할 수치형 값
소수점 자리수소수점 아래 몇째 자리까지 남길지 지정
(기본값: 0, 즉 정수로 반올림)

예시 1: 소수 첫째 자리에서 반올림

SELECT ROUND(123.456, 1);
-- 결과: 123.5

예시 2: 정수로 반올림

SELECT ROUND(123.789);
-- 결과: 124

※ 인자를 하나만 주면 자동으로 소수점 0자리에서 반올림합니다.


예시 3: 음수를 인자로 줄 경우

SELECT ROUND(12345, -2);
-- 결과: 12300
  • -2는 소수점보다 왼쪽 두 자리를 반올림 => 정수 부분에서 반올림
  • 즉, 12345 → 12300

반환값 타입

  • 반환 타입은 숫자(Numeric) 입니다.
  • 따라서 그대로 계산에 사용할 수 있음

💡 FORMAT()과의 비교

항목ROUND()FORMAT()
용도숫자를 반올림숫자를 포맷하여 문자열로 변환
반환 타입숫자문자열
천 단위 콤마❌ 없음✅ 자동 삽입
연산 가능 여부✅ 그대로 수치 연산 가능❌ 수치 연산 전 변환 필요 (CAST)
주요 사용 상황정수 또는 소수 자리 반올림 계산용출력용 포맷, 단위(%, cm 등)와 결합 시

예시 비교

-- ROUND 사용
SELECT ROUND(12345.678, 1); 
-- 결과: 12345.7 (숫자)

-- FORMAT 사용
SELECT FORMAT(12345.678, 1); 
-- 결과: '12,345.7' (문자열)

결론

상황추천 함수
연산을 계속 이어가야 하는 경우ROUND()
사용자에게 보기 좋게 출력할 경우FORMAT()

🔗 관련 문제


profile
호랑이기운

0개의 댓글