본문 바로가기
MySql

MySQL FLOAT 데이터에 SUM 사용

by 베이스 공부 2020. 11. 3.
반응형

테이블 1 개 :
항목 (ID, 가격)

행이 1 개 있습니다.
id : 1, 가격 : 565.8

항목에서 가격 선택 565.8
을 제공합니다. SELECT SUM (price) FROM items 는 제가 예상했던 565.8 대신 565.799987792969 를 제공합니다.

565.799987792969 의 출처는 어디입니까?

 

해결 방법

 


링크에서 :

mysql> select * from aaa;
+----+------------+------+
| id | month_year | cost |
+----+------------+------+
|  1 | 2002-05-01 | 0.01 |
|  2 | 2002-06-01 | 1.65 |
|  3 | 2002-07-01 | 0.01 |
|  4 | 2002-01-01 | 0.01 |
+----+------------+------+

mysql> select id, sum(cost) from aaa group by id;
+----+---------------------+
| id | sum(cost)           |
+----+---------------------+
|  1 | 0.00999999977648258 |
|  2 |    1.64999997615814 |
|  3 | 0.00999999977648258 |
|  4 | 0.00999999977648258 |
+----+---------------------+

The SUM function changes 0.01 to 0.00999999977648258.

부동 소수점 숫자는 근사값으로 저장됩니다. 가격을 저장하는 경우 정확한 값을 저장하는 10 진수 데이터 유형을 사용하는 것이 좋습니다.

 

참조 페이지 https://stackoverflow.com/questions/3907021

 

 

반응형

댓글