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

MySQL에서 실수(Float)를 저장하는 방법 – DECIMAL 자료형 활용 가이드

MySQL에서 실수(Float) 저장하기

MySQL에서 실수(부동 소수점 숫자)를 정확하게 저장하려면 DECIMAL 자료형을 사용하는 것이 좋습니다. FLOAT나 DOUBLE은 이진 부동 소수점 방식으로 값을 저장하기 때문에 미세한 오차가 발생할 수 있지만, DECIMAL은 십진수 값을 그대로 저장하므로 금액처럼 정밀도가 중요한 데이터에 적합합니다.

1. 테이블 생성

먼저 DECIMAL 타입의 컬럼을 가진 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
   (
   Price DECIMAL(10,2)
   );
Query OK, 0 rows affected (1.59 sec)

여기서 DECIMAL(10,2)는 전체 10자리 숫자를 저장할 수 있으며, 그중 소수점 이하 2자리를 포함한다는 의미입니다.

2. 데이터 삽입

INSERT 명령어를 사용하여 테이블에 레코드를 삽입합니다.

mysql> insert into DemoTable values(874674.50);
Query OK, 1 row affected (0.39 sec)
mysql> insert into DemoTable values(9948984.20);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(12345678.99);
Query OK, 1 row affected (0.18 sec)

3. 데이터 조회

SELECT 문을 사용하여 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

출력 결과

+-------------+
| Price |
+-------------+
| 874674.50 |
| 9948984.20 |
| 12345678.99 |
+-------------+
3 rows in set (0.00 sec)

출력 결과에서 확인할 수 있듯이, DECIMAL 타입은 소수점 이하 두 자리까지 입력된 값을 정확하게 그대로 저장합니다. 이처럼 MySQL에서 실수를 오차 없이 저장해야 한다면 DECIMAL 자료형 사용을 권장합니다.