Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 FLOAT(부동 소수점) 값을 반올림하고 결과를 새 열에 표시하는 방법

MySQL에서 부동 소수점(FLOAT) 타입으로 저장된 데이터를 특정 소수 자릿수로 반올림하려면 ROUND() 함수를 사용하면 됩니다. 이 함수는 원본 열의 값은 그대로 유지한 채, 반올림된 결과를 별도의 새 열(Alias)로 출력할 수 있어 매우 유용합니다.

1. 테이블 생성하기

먼저 실습에 사용할 테이블을 생성해 보겠습니다. Value라는 이름의 FLOAT 타입 열을 하나 가진 테이블입니다.

mysql> create table DemoTable
(
    Value float
);
Query OK, 0 rows affected (0.95 sec)

2. 샘플 데이터 삽입하기

INSERT 명령을 사용하여 소수점 아래 여러 자릿수를 가진 레코드들을 삽입합니다.

mysql> insert into DemoTable values(12.4567);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(124.7884);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(45.64643);
Query OK, 1 row affected (0.46 sec)

3. 저장된 데이터 확인하기

SELECT 문을 사용하여 테이블에 저장된 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

위 쿼리는 다음과 같은 출력 결과를 생성합니다.

+---------+
| Value   |
+---------+
| 12.4567 |
| 124.788 |
| 45.6464 |
+---------+
3 rows in set (0.00 sec)

4. ROUND() 함수로 반올림 결과를 새 열에 표시하기

FLOAT 값을 소수점 둘째 자리까지 반올림하고, 그 결과를 RoundValue라는 새 열에 표시하는 쿼리는 다음과 같습니다.

mysql> select Value,ROUND(Value,2) AS RoundValue from DemoTable;

실행 결과는 다음과 같습니다.

+---------+------------+
| Value   | RoundValue |
+---------+------------+
| 12.4567 | 12.46      |
| 124.788 | 124.79     |
| 45.6464 | 45.65      |
+---------+------------+
3 rows in set (0.00 sec)

ROUND() 함수의 동작 방식

ROUND(Value, 2) 구문에서 두 번째 인자인 '2'는 반올림할 소수점 자릿수를 의미합니다. 위 결과를 보면 12.4567은 12.46으로, 124.7884는 124.79로, 45.64643은 45.65로 각각 소수점 둘째 자리까지 정확히 반올림된 것을 확인할 수 있습니다.

여기서 중요한 점은 AS 키워드를 사용해 별칭(Alias)을 지정했기 때문에 원본 Value 열의 값은 변경되지 않고, 반올림된 값이 별도의 열로 함께 출력된다는 것입니다. 만약 음수를 지정하면(-1, -2 등) 소수점이 아닌 정수 부분을 기준으로 반올림할 수도 있습니다. 예를 들어 ROUND(124.788, -1)은 120을 반환합니다.