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

MySQL에서 FLOAT 값을 지정한 소수점 자릿수로 조회하는 방법

MySQL ROUND() 함수로 소수점 자릿수 지정하기

MySQL에서 FLOAT 타입의 컬럼을 조회할 때 원하는 소수점 자릿수로 반올림하여 출력하고 싶다면 ROUND() 함수를 사용하면 됩니다.

기본 문법

SELECT ROUND(컬럼명, 자릿수) FROM 테이블명;

두 번째 인자인 정숫값에 원하는 소수점 자릿수를 지정하면, 해당 자릿수까지 반올림된 결과가 반환됩니다.

예제 테이블 생성

개념을 이해하기 위해 간단한 테이블을 먼저 만들어 보겠습니다. 아래 쿼리로 테이블을 생성합니다.

mysql> create table givenPrecisionDemo
   -> (
   -> Amount float
   -> );
Query OK, 0 rows affected (0.61 sec)

샘플 데이터 삽입

INSERT 명령어를 사용해 몇 개의 레코드를 추가합니다.

mysql> insert into givenPrecisionDemo(Amount) values(45.678);
Query OK, 1 row affected (0.12 sec)
mysql> insert into givenPrecisionDemo(Amount) values(123.456);
Query OK, 1 row affected (0.15 sec)
mysql> insert into givenPrecisionDemo(Amount) values(245.890);
Query OK, 1 row affected (0.20 sec)
mysql> insert into givenPrecisionDemo(Amount) values(980.678);
Query OK, 1 row affected (0.19 sec)

저장된 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from givenPrecisionDemo;

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

+---------+
| Amount  |
+---------+
| 45.678  |
| 123.456 |
| 245.89  |
| 980.678 |
+---------+
4 rows in set (0.00 sec)

지정한 자릿수로 FLOAT 값 조회하기

이제 ROUND() 함수를 사용해 소수점 둘째 자리까지 반올림하여 Amount 값을 조회해 보겠습니다.

mysql> SELECT ROUND(Amount,2) from givenPrecisionDemo;

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

+-----------------+
| ROUND(Amount,2) |
+-----------------+
| 45.68           |
| 123.46          |
| 245.89          |
| 980.68          |
+-----------------+
4 rows in set (0.00 sec)

참고 사항

ROUND() 함수는 두 번째 인자를 생략하면 소수점 첫째 자리에서 반올림하여 정수를 반환합니다. 또한 음수를 지정하면 소수점 왼쪽(정수부) 기준으로 반올림할 수도 있습니다. 예를 들어 ROUND(Amount, -1)은 일의 자리에서 반올림한 결과를 반환합니다. 금액처럼 정확한 소수점 계산이 중요한 데이터라면 DECIMAL 타입 사용을 고려하는 것도 좋은 방법입니다.