DECIMAL() 함수를 사용하여 소수점 필드 반올림을 중지할 수 있습니다. 다음은 반올림된 소수 필드의 데모입니다. 이 예에서는 먼저 데모 테이블을 생성하겠습니다.
mysql> create table stopRoundingDemo -> ( -> Amount DECIMAL(7) -> ); Query OK, 0 rows affected (0.67 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
mysql> insert into stopRoundingDemo values(7836.783); Query OK, 1 row affected, 1 warning (0.43 sec) mysql> insert into stopRoundingDemo values(1737.67); Query OK, 1 row affected, 1 warning (0.23 sec) mysql> insert into stopRoundingDemo values(110.50); Query OK, 1 row affected, 1 warning (0.33 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from stopRoundingDemo;
다음은 출력입니다.
+--------+ | Amount | +--------+ | 7837 | | 1738 | | 111 | +--------+ 3 rows in set (0.08 sec)
위의 샘플 출력에서 소수점은 반올림됩니다.
이제 소수가 반올림되지 않도록 하는 방법을 살펴보겠습니다. 이를 위해 먼저 새 테이블을 만들고 반올림 없이 결과를 제공하는 방식으로 DECIMAL 유형을 설정하겠습니다.
mysql> create table stopRoundingDemo2 -> ( -> Amount DECIMAL(10,4) -> ); Query OK, 0 rows affected (0.81 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
mysql> insert into stopRoundingDemo2 values(7836.783); Query OK, 1 row affected (0.14 sec) mysql> insert into stopRoundingDemo2 values(1737.67); Query OK, 1 row affected (0.14 sec) mysql> insert into stopRoundingDemo2 values(110.50); Query OK, 1 row affected (0.16 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from stopRoundingDemo2;
출력은 다음과 같습니다
+-----------+ | Amount | +-----------+ | 7836.7830 | | 1737.6700 | | 110.5000 | +-----------+ 3 rows in set (0.00 sec)