DOUBLE(M,D)에서 M은 전체 자릿수(정수부+소수부), D는 소수점 이하 자릿수입니다. UNSIGNED로 음수 방지 가능.
구문
CREATE TABLE 테이블명 (
컬럼명 DOUBLE(5,2) UNSIGNED
);
예제: 전체 5자리, 소수 2자리, 양수만
mysql> CREATE TABLE DemoTable1814 (
-> Amount DOUBLE(5,2) UNSIGNED
-> );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO DemoTable1814 VALUES(1.98); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO DemoTable1814 VALUES(100.24); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO DemoTable1814 VALUES(198.50); Query OK, 1 row affected (0.00 sec)
데이터 조회
mysql> SELECT * FROM DemoTable1814;
+--------+ | Amount | +--------+ | 1.98 | | 100.24 | | 198.50 | +--------+ 3 rows in set (0.00 sec)
참고: DOUBLE(5,2)면 정수부 최대 3자리(999.99). 초과 삽입 시 999.99로 잘림(경고). MySQL 8.0.17+부터 FLOAT(M,D)/DOUBLE(M,D) 표기는 비권장(Deprecated). 정밀도 중요한 금액은 DECIMAL(10,2) 사용 권장.