Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에 돈 값을 저장하는 가장 좋은 데이터 유형은 무엇입니까?

<시간/>

MySQL에 화폐 값을 십진수(value1,value2)로 저장할 수 있습니다. 여기서 value1은 value2를 포함한 전체 범위입니다. value2는 소수점 이하 자릿수를 지정합니다. 이 개념을 이해하려면 다음 단계를 따르세요.

먼저 create 명령을 사용하여 테이블을 만듭니다.

mysql> CREATE table MoneyDemo
-> (
-> Id int,
-> Money decimal(10,2)
-> );
Query OK, 0 rows affected (0.46 sec)

위 명령어에서 알 수 있듯이 십진수 값은 10자리만 있고 소수점 이하 2자리만 있습니다.

테이블을 생성한 후 삽입 명령을 사용하여 일부 레코드를 삽입합니다. 이것은 다음과 같이 주어집니다 -

mysql> INSERT into MoneyDemo values(1,98777445.50);
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into MoneyDemo values(2,12345678.00);
Query OK, 1 row affected (0.18 sec)

mysql> INSERT into MoneyDemo values(3,88888888.50);
Query OK, 1 row affected (0.20 sec)

위의 명령에 10자리 이상의 숫자가 삽입되면 오류 메시지가 생성됩니다. 이것은 아래에서 볼 수 있습니다 -

mysql> INSERT into MoneyDemo values(3,8888888888.50);
ERROR 1264 (22003): Out of range value for column 'Money' at row 1

테이블의 모든 레코드는 select 문을 사용하여 표시할 수 있습니다. 이에 대한 쿼리는 다음과 같습니다. -

mysql> SELECT * from MoneyDemo;

얻은 출력은 다음과 같습니다.

+------+-------------+
| Id   | Money       |
+------+-------------+
| 1    | 98777445.50 |
| 2    | 12345678.00 |
| 3    | 88888888.50 |
+------+-------------+
3 rows in set (0.00 sec)