MySQL ROUND() 함수로 소수점 둘째 자리까지 반올림하기
MySQL에서 나눗셈 같은 계산 결과를 특정 소수점 자릿수로 반올림하려면 ROUND() 함수를 사용하면 됩니다. ROUND() 함수는 첫 번째 인자로 반올림할 값이나 수식을, 두 번째 인자로 표시할 소수점 자릿수를 전달받습니다.
먼저 예제에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable1865
(
Value1 int,
Value2 int
);
Query OK, 0 rows affected (0.00 sec)
INSERT 명령을 사용해 테이블에 몇 개의 레코드를 삽입합니다.
mysql> insert into DemoTable1865 values(40,60);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1865 values(100,400);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1865 values(545,896);
Query OK, 1 row affected (0.00 sec)
SELECT 문으로 테이블의 모든 레코드를 확인해 보겠습니다.
mysql> select * from DemoTable1865;
위 쿼리는 다음과 같은 결과를 출력합니다.
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 40 | 60 |
| 100 | 400 |
| 545 | 896 |
+--------+--------+
3 rows in set (0.00 sec)
계산 결과를 소수점 둘째 자리로 반올림하는 쿼리
이제 Value1을 Value2로 나눈 결과를 소수점 둘째 자리까지 반올림하여 새 열로 출력하는 쿼리를 살펴보겠습니다. AS 키워드를 사용해 결과 열에 별칭을 지정하면 가독성이 좋아집니다.
mysql> select round(Value1/Value2,2) as Result from DemoTable1865;
위 쿼리는 다음과 같은 결과를 출력합니다.
+--------+
| Result |
+--------+
| 0.67 |
| 0.25 |
| 0.61 |
+--------+
3 rows in set (0.00 sec)
결과를 살펴보면 40÷60 = 0.6666...이 0.67로, 100÷400 = 0.25가 그대로 0.25로, 545÷896 = 0.6082...가 0.61로 반올림된 것을 확인할 수 있습니다. 이처럼 ROUND(수식, 2) 형태로 작성하면 별도의 새 열을 만들지 않고도 SELECT 결과에서 계산값을 원하는 자릿수로 깔끔하게 반올림해 표시할 수 있습니다.