MySQL 데이터베이스에 PayPal 결제 금액처럼 정확한 소수점 값을 저장해야 한다면 DECIMAL(10,2) 데이터 타입을 사용하는 것이 가장 좋습니다. FLOAT나 DOUBLE은 부동소수점 연산 특성상 미세한 오차가 발생할 수 있으므로, 금융 관련 데이터에는 반드시 DECIMAL 타입을 사용하는 것이 권장됩니다.
1. 테이블 생성하기
먼저 DECIMAL(10,2) 컬럼을 가진 테이블을 생성합니다. 여기서 10은 전체 자릿수, 2는 소수점 이하 자릿수를 의미합니다.
mysql> create table DemoTable1491
-> (
-> Amount DECIMAL(10,2)
-> );
Query OK, 0 rows affected (0.66 sec)
2. 데이터 삽입하기
INSERT 명령어를 사용하여 몇 개의 레코드를 삽입해 보겠습니다.
mysql> insert into DemoTable1491 values(987664.50);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1491 values(18783874.90);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1491 values(35363738.50);
Query OK, 1 row affected (0.15 sec)
3. 저장된 데이터 확인하기
SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> select * from DemoTable1491;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+-------------+
| Amount |
+-------------+
| 987664.50 |
| 18783874.90 |
| 35363738.50 |
+-------------+
3 rows in set (0.00 sec)
결과에서 확인할 수 있듯이, 모든 금액이 소수점 둘째 자리까지 정확하게 저장되었습니다. 이처럼 DECIMAL(10,2)을 사용하면 PayPal과 같은 결제 시스템의 금액 데이터를 오차 없이 안전하게 보관할 수 있습니다.