10진수를 MySQL에 저장하려면 두 매개변수를 이해해야 합니다. 구문은 다음과 같습니다 -
DECIMAL(yourTotalDigit,yourDigitsAfterDecimalPoint);
예를 들어 -
DECIMAL(4,2), 총 4자리, 소수점 이하 2자리를 사용할 수 있음을 의미합니다.
첫 번째 매개변수는 소수점 앞 2까지입니다.
두 번째 매개변수는 소수점 이하 2자리까지입니다.
- 사례 1 ~ 12.34가 유효합니다.
- 사례 2 − 123.4는 유효하지 않습니다.
- 케이스 3 − 1.234는 값 4가 무시되고 1.23으로 간주되기 때문에 유효합니다.
이제 table −
를 사용하여 확인할 수 있습니다.mysql> create table DecimalDemo -> ( -> Amount DECIMAL(4,2) -> ); Query OK, 0 rows affected (0.47 sec)
예제 Decimal(4,2)에 대한 잘못된 값은 다음과 같습니다. -
mysql> insert into DecimalDemo values(123.4); ERROR 1264 (22003): Out of range value for column 'Amount' at row 1 mysql> insert into DecimalDemo values(1234); ERROR 1264 (22003): Out of range value for column 'Amount' at row 1 mysql> insert into DecimalDemo values(1234.56); ERROR 1264 (22003): Out of range value for column 'Amount' at row 1
유효한 값은 다음과 같습니다 -
mysql> insert into DecimalDemo values(12.34); Query OK, 1 row affected (0.13 sec) mysql> insert into DecimalDemo values(12.4); Query OK, 1 row affected (0.18 sec) mysql> insert into DecimalDemo values(.2345); Query OK, 1 row affected, 1 warning (0.18 sec) mysql> insert into DecimalDemo values(1.234); Query OK, 1 row affected, 1 warning (0.16 sec)
select 문을 사용하여 테이블의 모든 유효한 값을 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from DecimalDemo;
출력
+--------+ | Amount | +--------+ | 12.34 | | 12.40 | | 0.23 | | 1.23 | +--------+ 4 rows in set (0.00 sec)